在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ C語言變量賦值

C語言變量賦值

比如如下代碼:

#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,不太明白,謝謝諸位

回答
編輯回答
青黛色

因為C是靜態(tài)類型的語言,因此兩個不同變量就是位于兩個不同內(nèi)存地址的,即使內(nèi)容完全一樣。請注意,是“變量”!

2017年5月21日 13:20
編輯回答
礙你眼
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.out
addr: 0x68a28bcc
addr: 0x68a28bc8
size: 4

兩個地址相差四個字節(jié),顯然不在同一個地址

2017年8月1日 09:26