比如如下代碼:#include <stdio.h>int main(){ int a, b;
a = 10;
b = a;
}看網上說,b = a 是把a變量內存空間中的數據復制到b變量的內存空間中,是這樣的嗎?難道a和b的數據完全一樣,也占兩份內存空間嗎?沒有寫時拷貝、a和b共用同一內存地址的說法嗎?剛學C,不太明白,謝謝諸位
2 回答

largeQ
TA貢獻2039條經驗 獲得超8個贊
main.c#include <stdio.h>int main() { int a, b; a = 10; b = a; printf( "addr: 0x%08x\n", &a); printf( "addr: 0x%08x\n", &b); printf( "size: %zd\n", sizeof(a));} [xxx@xxx]# ./a.outaddr: 0x68a28bccaddr: 0x68a28bc8size: 4
兩個地址相差四個字節,顯然不在同一個地址
- 2 回答
- 0 關注
- 947 瀏覽
添加回答
舉報
0/150
提交
取消