【C語言入門】指標變數宣告與取址運算

指標是儲存「記憶體位址」的資料型別,* 代表儲存的東西是記憶體位址。

(int**)2293625 後面的*代表是個位址,前面的*代表裡面存的是 int。

變數依照資料性別會佔據一定的記憶體空間。我們可以利用取址運算子(&)去取得變數開頭的記憶體位址。

int count=9;
int *countAddr=&count;

之所以叫指標,是因為 countAddr 指向 count。

判斷寫法一

我們接著看以下的寫法。

int count=9;

int a;
int *b;

a=count;
b=count;

a=count 是沒問題的,因為 a 和 count 都是整數。

然而,b 並不能等於 count,這是因為 b 是整數的位址,不是整數;而 count 是整數。

判斷寫法二

int count=9;

int a;
int *b;

a=count;
b=count;

a=&count;
b=&count;
int count=9;

int a;
int *b;

a=count;   // (O) (int)  =(int)
b=count;   // (X) (int *)=(int)

a=&count;  // (X)
 (int)  =(int *)
b=&count;  // (O) (int *)=(int *)

變數依照資料性別會佔據一定的記憶體空間。我們可以利用取址運算子(&)去取得變數開頭的記憶體位址。

Leave a Comment

Your email address will not be published. Required fields are marked *