close
指標(pointer)
就字面上來理解,指標就是箭頭
在C語言裡也差不多是那個意思,C語言稱作"中階語言"正是因為它很接近硬體
可以直接操作硬體,指標就是操作記憶體
那到底跟箭頭有甚麼關係呢?
每個變數都要存到記憶體裡面,每個記憶體都有一個編號
就跟地址一樣,也就是說我告訴你那個地址,你就可以找到那個變數
位址→變數(所以有箭頭的感覺)
& 與 * 運算子
&
在變數前面加&就是取得變數的位址
還記得輸入函數Scanf("%d",&a);?後面就是取得變數的位址
*
在位址前面加*就會取得那個變數
這時候對這個變數操作會完全跟原始變數同步
也就是說*位址=999;那原本的變數同時也被改了
所以其實這兩個運算子是反運算
範例 反運算
#include <stdio.h> int main() { int c=100; *&c=101;//c的位址經過*再對照到c把c指派成101 printf("%d",c); return 0; }
宣告指標變數
變數類型* 變數名稱
範例
#include <stdio.h> int main() { int c=100; int*a;//宣告指向int的指標 return 0; }
變數類型* 變數名稱=初始位址(&變數)
範例
#include <stdio.h> int main() { int c=100; int*a=&c;//初始化成c的位址 return 0; }
文章標籤
全站熱搜
留言列表