我试图增加**array
的大小realloc
我用malloc
创建。 我承诺**array
我想增加一个函数的大小。 这里是其增加的大小的部分:realloc无法从其他功能访问新的大小
imginf->height = imginf->height * 2;
imginf->width = imginf->width * 2;
array = realloc(array, imginf->height * sizeof(d*));
for(int i = 0; i < imginf->height; i++) {
array[i] = malloc(imginf->width * sizeof(d));
}
之后,我填充阵列两个for循环。一切正常!
在下一个函数中,我尝试将该数组保存在文件中。这里我也使用了两个for循环。 随着循环的第一次我走过高度,在这里我得到的问题。
如果循环计数器是(imginf->height /2)
我跑出阵列。宽度的一切工作正常。
出了什么问题?特别是,为什么我可以填充阵列?
编辑
在这里,函数定义用于保存:
void Save(char * newname, inf imginf, d **array);
d与3个无符号字符一个结构。
这里定义为realloc函数:
void reallocBig(inf *imginf, d **array);
格尔茨。
请显示您的功能签名。这听起来像是你有一个传递值的问题。 – 2012-02-08 18:13:40
请参阅我的**编辑**,是你的意思?足够?谢谢。 – hofmeister 2012-02-08 18:21:33