1. 陣列的關鍵符號的理解
例如 int a[100] = ;
a : 一是陣列名,二是陣列首元素首位址(等價於&a[0])。
a[0] :陣列的第乙個元素。
&a[0] :陣列首元素首位址。
&a :陣列首位址。
注:雖然a與&a的值相等,但是含義完全不同。
2. 用指標訪問陣列
int a[100] = 0;
int*p = a; //定義指標,並指向陣列a
printf("*p = %d\n",*(p+1)); //通過指標訪問a[1],列印輸出。
3. 指標陣列與陣列指標
*p[10] 與 *(p[10])
都是指標陣列,指標陣列本質是陣列,陣列中存放的元素都是指標。
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
(*p)[10]
是陣列指標,指標指向乙個陣列,陣列裡面有10個元素。
1. 指標與函式傳參
int * func(int
*a, int
*b)函式的兩個傳參為兩個int
*的指標,返回值為int
*的指標。
2. 函式指標
函式指標也是指標,指向函式的首位址。
函式名就是函式的首位址。
例:
void fun(int a); //之前定義的函式,宣告一下
typedef
void (*pfunc)(int) //定義了乙個函式指標型別,pfunc
pfunc p = null; //定義函式指標
p = fun; //p指向fun函式
p(5); //通過函式指標呼叫函式
C 學習筆記 指標2
關於指標形參的注意事項 不要企圖通過改變指標形參的值而使指標實參的值改變,看下面的 include void swap int p1,int p2 int main int a 5,b 9 int pa,pb pa a pb b if a b swap pa,pb std cout a b 要想輸入...
c語言指標學習筆記
example 1 int a,b,p,q p a p a p q b p p a 錯誤,因為p實際上是乙個位址,而a是乙個整型值 p q 錯誤,因為這句話的意思是 將位址q指向的單元的值賦給位址p。而實際上p是乙個位址,是不能存值得 p a 錯誤 注意,如果這樣定義了 p,那麼 p表示位址 指標 ...
C 語言指標學習筆記
前敘 原先對c語言的學習,對指標有恐懼感.當c語言學到一定的程度的時候,再學習指標有種水到渠成的感覺。對指標變數的定義包括三個內容 1 指標型別說明,即定義變數為乙個指標變數 2 指標變數名 3 變數值 指標 所指向的變數的資料型別 一般是這樣的 型別說明符 變數名 int p 這個小星星號 表示這...