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

largeQ
TA貢獻2039條經(jīng)驗 獲得超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
兩個地址相差四個字節(jié),顯然不在同一個地址
- 2 回答
- 0 關(guān)注
- 944 瀏覽
添加回答
舉報
0/150
提交
取消