亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言變量賦值

C語言變量賦值

C
臨摹微笑 2018-08-10 17:06:22
比如如下代碼:#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

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


查看完整回答
反對 回復 2018-08-12
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

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

查看完整回答
反對 回復 2018-08-12
  • 2 回答
  • 0 關注
  • 947 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號