Re: [問題] 找記憶體位置
※ 引述《devilarise (Devil)》之銘言:
: 而如果寫成 int* b = &a;的話
: 視為一種傳址的動作
: 從此a跟b兩個變數的記憶體位址
: 同時指向0x123456這個位置上
怪怪的 ...
那如果
int a;
int b = (int) &a; 呢 ?
也許是中文翻譯的問題,
一般我們說傳值、傳址、傳參照是 call by value, call by address,
call by reference 的中譯,通常用來指呼叫函式時的參數傳遞。
'=' 為賦值, assign
而我賦的值是 &a, 一個位址, 但是也是一個值啊
你也可以這樣用
int a;
int b = (int) &a;
*( (int*) b ) = 5;
這種寫法當然不好,但是這是合乎語法的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.137.67.217
→
11/29 12:15, , 1F
11/29 12:15, 1F
→
11/29 12:16, , 2F
11/29 12:16, 2F
→
11/29 12:23, , 3F
11/29 12:23, 3F
推
11/29 12:25, , 4F
11/29 12:25, 4F
→
11/29 12:25, , 5F
11/29 12:25, 5F
→
11/29 12:26, , 6F
11/29 12:26, 6F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章