最近在调算法是,涉及到rgb转yuv数据的一个函数,出现了这种常见错误:如下

unsigned char *VLine = (new unsigned char[width+2]);//+1;  
 //ULine[-1]=ULine[width]=128;   //-1的16位二进制表示:1111 1111 1111 1111
 此时uline mem指向0xFFFF这个地址。
delet []VLine;

结果.如果住掉赋值128的那一行,正确通过没错,要是不住掉就会产生heap堆内存错误信息;

问题原因:

1.是有关数组-1,-2,-3,-4的地址代表分配头信息,不然free(x)可以不要知道大小就可以释放的原因;

2.vline指向动态分配后的地址,然而又对其进行赋值,造成vline指向了一个常量空间地址,,只读data段上,而不是堆区域了,常量地址的分配内存,只能在程序退出后才能自动释放。

:指向的是个定长且固定内容的指针,不存在变化,所以不用释放。而且,你也无法释放,等程序结束自动释放

解决办法:

1.

point = new char[5];  point = "fda";//这句话注销了就对了 不知道为什么--------------------------------------------------------------------------   point = "fda"应改为:  memmove( point,  "fda", 3);  或:     strcpy( point, "fda");在最前面加上:#include "string.h"2.point[0] = 'f'; point[1] = 'd'; point[2] = 'a'; 附上相关资料:http://dearymz.blog.163.com/blog/static/205657420062271155250/http://bbs.csdn.net/topics/390359048http://zhidao.baidu.com/link?url=o9US18FIs-JuvBOQgNTL1diMNfiyRoGvOGHMlKoDZCGMu1UApWeIVuy-8UO4MV-0Jlryiz05jaKvK4RQfDRh0ahttp://wenku.baidu.com/link?url=KrHpusbOUWu25UK0WbNdP3ZDsBT_jKe4nptbEu8h6cbULhVVHB_R5RLm8zl_oSE6-by5QG3jay9-o8lQOVDDP6Gq3-oNvuCJu2HATkz8Er7 delet 常犯的几种错误http://bbs.pediy.com/showthread.php?t=176091 delet 出问题 

http://bbs.csdn.net/topics/300170474 a[-1]问题

http://blog.csdn.net/daniel_ice/article/details/6857019 汇编解释数组和取数组

转载于:https://www.cnblogs.com/pengkunfan/p/3847686.html

VLine[-1]=VLine[width]=128 数组的负一地址代表啥相关推荐

  1. 给定数组,每个元素代表一个木头的长度,木头可以任意截断, 从这堆木头中截出至少k个相同长度为m的木块,已知k,求max(m)

    给定数组,每个元素代表一个木头的长度,木头可以任意截断, 从这堆木头中截出至少k个相同长度为m的木块,已知k,求max(m) [9, 4, 3, 10, 7] k = 5 max(m) = ? pub ...

  2. 3.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩。

    #include<stdio.h> #define N 10 void main(void) {int i;float a[N],ave;ave=0;for(i=0;i<N;i++) ...

  3. java二维数组两个框代表什么_在java语言中,二维数组的两个中括号[][]分别表示()和()。...

    [判断题]一元统计分析是研究一个随机变量统计规律的学科. [判断题]合伙创业的成功率一般低于独资创业的成功率. [单选题]镜检时呈"竹节状"排列的是 [判断题]酵母菌的菌落与放线菌 ...

  4. 用初次训练的SVM+HOG分类器在负样本原图上检测HardExample

    难例(或叫做难样本,Hard Example,Hard Negative,Hard Instance)是指利用第一次训练的分类器在负样本原图(肯定没有人体)上进行行人检测时所有检测到的矩形框,这些矩形 ...

  5. JS的组成-JS数组方法-JS函数-系统化学习

    JS Day01 什么是js的组成? ECMAScript(es) 其实就是js的规范(规则) DOM 文档对象模型 div span BOM 浏览器对象模型 JS的使用方式 行内样式的书写(不经常使 ...

  6. 树状数组:新手到大师 from TC

    Subscribe 树状数组(Binary Indexed Trees) November 15, 2012 作者:Hawstein 出处:http://hawstein.com/posts/bina ...

  7. 嵌入式C语言基础知识查漏补缺--内存管理函数指针数组

    内存管理: 堆和栈的理解和区别 局部变量 静态局部变量 全局变量 静态全局变量 作用域 在定义变量的{}之内有效 在定义变量的{}之内有效 整个工程,所有文件 当前文件 生命周期 程序运行至变量定义处 ...

  8. day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  9. day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

最新文章

  1. 程序猿才感同身受的10个图!
  2. 一个object上拥有一个同步队列和一个等待队列
  3. 马歇尔计划软件测试自学,绝密本科目考试启用前及综合应用.doc
  4. android 时间转换 工具下载,时间转换器手游下载_时间转换器安卓版下载v1.09.25_3DM手游...
  5. [YTU]_2637(编程题:类---矩形类)
  6. 爱要大声“手”出来!一个程序猿的七夕表白应用!
  7. Lodop 打印控件
  8. 最新建账年(over partition by)的研究
  9. mysql内连接的自连接_mysql 内连接、外连接、自连接
  10. 现代软件工程系列 学生读后感 梦断代码 DTSlob (2)
  11. wordpress for sae建站全过程
  12. UVA - 247 Calling Circles(Floyd求传递闭包)
  13. DFS和BFS算法介绍
  14. 表格嵌套_HTML |2| 表格与列表
  15. bootstrap 点击按钮刷新_Thyemlef动态刷新页面方法
  16. 树木分形迭代图 matlab,园林设计中分形理论的引入
  17. android2048项目报告,Android项目开发实战-2048游戏
  18. 【CCF推荐专区】计算机类优质SCIEI好刊,期刊质量高,部分期刊仅有少量版面
  19. 自定义dns服务器faq,常见手机品牌的DNS修改方法
  20. 2021 最新 Cloudera 大数据平台 CDP 升级指南白皮书完整版开放下载!(中文版)...

热门文章

  1. 苦了我一年的选择,现在却是我最回味的时光
  2. 查看linux中tcp连接数
  3. 配置Tomcat的server.xml以适应web-content文件系统的位置改变
  4. 在Java中使用DES加密解密算法
  5. c# webapi返回html,c#-从Web API 2端点返回自定义HTTP状态代码
  6. android商品mysql_android使用mysql的方法总结
  7. 同事删库跑路后,我连表名都不能修改了?
  8. 分库分表:TIDB,你是来抢生意的?不讲码德?
  9. 谈谈双亲委派模型的第四次破坏-模块化
  10. RedisJson 是什么?比ES快 500 倍?