sizeof
剛剛在查資料,剛好看到前幾天遇到一個我不會的題目…
把程式丟給 gcc 編譯後執行,發現我完全寫錯了…..
題目如下:
int main (){ int a; int *b; char c; char *d; char e[100]; char *f[100]; char g[7][8]; char *h[7][8]; printf("%d, %d, %d, %d, %d, %d, %d, %d", sizeof(a), sizeof(b), sizeof(c), sizeof(d), sizeof(e), sizeof(f), sizeof(g), sizeof(h));}
在 32 位元機器的情況下,答案應該是 4, 4, 1, 4, 100, 400, 56, 224
因為 sizeof 是求 compile time 時得到的記憶體空間(in byte), 可是當時我一直想成陣列會給陣列大小, 陣列指標跟二維陣列以上的情況我就 confuse 了, 這題好像是在趨勢遇到的吧..
爆炸!!
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
Leave a Reply