指標變數
格式一:
型別名 *指標變數名1,*指標變數名2...
int *p; char *ch; int a;char c;
指標的作用都一樣的,都是用來存放位址的,為什麼還要分型別的原因是指標變數p只能存放整型變數位址,指標變數ch只能存放字元變數位址。
如何讓乙個指標存放乙個變數位址呢?
p=&a; ch = &c;
&:叫做取址符 *叫指標運算子
變數的定義就是給其開闢儲存單元的過程。
任何變數都有自己的儲存位址。
指標就是用來存放變數位址的。
指標也是個變數。
指標也需要個位址
專門用來存放指標的位址,他就是指向指標的指標。
int **p ,*s
p = &s;
**p就是乙個指向指標的指標。它裡面只能存放同種資料型別的指標的位址。
c語言提供了乙個稱做「間接訪問運算子」,的單目運算子:「*」當指標變數中存放了乙個確切的位址值是,就可以用「間接運算預算符」通過指標來引用改位址的儲存單元。
如:int *p,i=10,j;
p = &i; //10 指向i的位址
j=*p; //10 把p指向的位址的值賦給j
j=i; <--------> j=*(&i);
再如:
int *p,k=0;
p=&k;
*p=100;
*p+=1;
注意:當*p出現在賦值號左邊時,代表的是指標所指的儲存單元,當*p出現在賦值號右邊時,代表的是指標所指的儲存單元的內容。
*p+=1; 給指標所指的空間裡的值+1並返回了,,
++*p;*和++的運算優先順序相同,從右到左結合所以 ++(*p)
(*p)++; 不能省略()否則造成位址的移動出現錯誤
利用指標來輸入兩個數,並且取出其中最小值,
#include
main()
初識C語言 指標
記憶體是電腦上特別重要的東西,計算機中所有的程式的執行都是在記憶體中進行的。所以為了有效的使用記憶體,就把記憶體劃分為乙個個小的記憶體單元,每個記憶體單元的大小是1位元組。為了能夠有效訪問到記憶體的每個單元,就給記憶體單元進行了編號。這些編號被稱為該記憶體單元的位址。位址即編號。那麼取出來的位址怎麼...
C語言指標初識
定義指標變數,在變數名前面加星號 格式為 int a datatype pointname int p p a 或者 int a datatype pointname value int p a 定義指標變數時必須帶 給指標變數賦位址值時不能帶 等於乙個位址即可改變指標指向。1 定義普通變數 2fl...
c語言printf和指標初識
1.printf是行緩衝 滿一行才輸出 遇到 n 或者 r 會輸出 scanf 和printf 用的同一緩衝區,當 printf 與scanf 連用時會輸出。因此在寫 printf 時要加 n 2.當執行程式發現段錯誤時,可以在每一行 下面加除錯資訊 printf s d n func line 這...