2 wenlongcai1995 wenlongcai1995 于 2014.11.19 19:27 提问

关于51单片机动态数组开辟问题。

我想要达到的效果是开辟一个动态数组,数组的长度每次都会改变。遇到的问题是,发现上一次的首元素的内存一直无法释放,于是本人通过调试测试每一次数组各元素的值来判断哪里出错,发现程序到space=NULL,space[0]还是没有被清零,以下是我的测试程序

2个回答

dongtinghong
dongtinghong   2014.11.20 10:46

其实你可以这样做,不用声明数组,而是声明一个char* array这样的指针变量,用的时候把这个指针变量指定到要用的内存(这块内存可以事先分配好或指定到一个程序不可能用到的足够大的内存),用的时候可以像数组一样用的,比如array[0],array[1]这样用,跟数组的用法一样,这个方法还有一个好处,由于array是指针变量,所以你可以随便指定到某个内存访问其中的内容,希望能帮到你。

wenlongcai1995
wenlongcai1995   2014.11.23 13:15

我也是这样想的 可是内存不能释放 我私信给你 你看下

Csdn user default icon
上传中...
上传图片
插入图片