我試圖增加**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