VLine[-1]=VLine[width]=128 数组的负一地址代表啥
最近在调算法是,涉及到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 数组的负一地址代表啥相关推荐
- 给定数组,每个元素代表一个木头的长度,木头可以任意截断, 从这堆木头中截出至少k个相同长度为m的木块,已知k,求max(m)
给定数组,每个元素代表一个木头的长度,木头可以任意截断, 从这堆木头中截出至少k个相同长度为m的木块,已知k,求max(m) [9, 4, 3, 10, 7] k = 5 max(m) = ? pub ...
- 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++) ...
- java二维数组两个框代表什么_在java语言中,二维数组的两个中括号[][]分别表示()和()。...
[判断题]一元统计分析是研究一个随机变量统计规律的学科. [判断题]合伙创业的成功率一般低于独资创业的成功率. [单选题]镜检时呈"竹节状"排列的是 [判断题]酵母菌的菌落与放线菌 ...
- 用初次训练的SVM+HOG分类器在负样本原图上检测HardExample
难例(或叫做难样本,Hard Example,Hard Negative,Hard Instance)是指利用第一次训练的分类器在负样本原图(肯定没有人体)上进行行人检测时所有检测到的矩形框,这些矩形 ...
- JS的组成-JS数组方法-JS函数-系统化学习
JS Day01 什么是js的组成? ECMAScript(es) 其实就是js的规范(规则) DOM 文档对象模型 div span BOM 浏览器对象模型 JS的使用方式 行内样式的书写(不经常使 ...
- 树状数组:新手到大师 from TC
Subscribe 树状数组(Binary Indexed Trees) November 15, 2012 作者:Hawstein 出处:http://hawstein.com/posts/bina ...
- 嵌入式C语言基础知识查漏补缺--内存管理函数指针数组
内存管理: 堆和栈的理解和区别 局部变量 静态局部变量 全局变量 静态全局变量 作用域 在定义变量的{}之内有效 在定义变量的{}之内有效 整个工程,所有文件 当前文件 生命周期 程序运行至变量定义处 ...
- day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
- day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
最新文章
- 程序猿才感同身受的10个图!
- 一个object上拥有一个同步队列和一个等待队列
- 马歇尔计划软件测试自学,绝密本科目考试启用前及综合应用.doc
- android 时间转换 工具下载,时间转换器手游下载_时间转换器安卓版下载v1.09.25_3DM手游...
- [YTU]_2637(编程题:类---矩形类)
- 爱要大声“手”出来!一个程序猿的七夕表白应用!
- Lodop 打印控件
- 最新建账年(over partition by)的研究
- mysql内连接的自连接_mysql 内连接、外连接、自连接
- 现代软件工程系列 学生读后感 梦断代码 DTSlob (2)
- wordpress for sae建站全过程
- UVA - 247 Calling Circles(Floyd求传递闭包)
- DFS和BFS算法介绍
- 表格嵌套_HTML |2| 表格与列表
- bootstrap 点击按钮刷新_Thyemlef动态刷新页面方法
- 树木分形迭代图 matlab,园林设计中分形理论的引入
- android2048项目报告,Android项目开发实战-2048游戏
- 【CCF推荐专区】计算机类优质SCIEI好刊,期刊质量高,部分期刊仅有少量版面
- 自定义dns服务器faq,常见手机品牌的DNS修改方法
- 2021 最新 Cloudera 大数据平台 CDP 升级指南白皮书完整版开放下载!(中文版)...