的變化大小我有一個結構:傳遞結構的陣列,以函數數組
struct Thing {
int id;
}
然後,我創建的Thing
秒的數組:
struct Thing *a;
a = (struct Thing *) malloc(sizeof(struct Thing));
a->id = 1;
struct Thing *b;
b = (struct Thing *) malloc(sizeof(struct Thing));
b->id = 2;
struct Thing *array[] = {a,b};
我檢查陣列的大小和是 我檢查陣列的大小:
printf("%d",sizeof(array)/sizeof(array[0]));
我也有一個函數, S IN事物的數組:
void function(struct Thing *array[]) {
//do stuff
}
然後我通過數組中發揮作用:
function(array);
在這個函數中,數組的大小爲1 可有人點我放哪兒我出錯了,爲什麼數組1中的數組的大小?
請閱讀C常問問題http://www.c-faq.com/aryptr/index.html – 2013-02-25 07:41:54
或[什麼是陣列衰減?](http://stackoverflow.com/q/1461432) – 2013-02-25 07:45:18
@ KarthikT我在下面的評論中找到了張遠的解決方案。 – drum 2013-02-25 08:10:36