C語言的指標學習筆記 2

2021-08-20 18:52:15 字數 1132 閱讀 4413

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 這個小星星號 表示這...