指針學習筆記(2)——基本操作

int a[10];

int * p;

in i;

p=a;

1.       數組名a代表數組首元素的地址,它是一個指針常量,它的值在程序運行期間是固定不變的。

2.       “p=a”的作用是將數組a的首元素的地址賦給指針變量p。

3.       引用一個數組,可以用下標法,如a[i]或p[i],也可以用指針法,如*(p+i)或*(a+i)。

4.       [ ]實際上是變址運算符,即將a[i]按a+i計算出地址,然後找出此地址單元中的值。

5.       使用指針法能使目標程序質量高(佔用內存少,運行速度快)。

6.       *(p++):先取 *p 的值,再使 p 加1,相當於 a[i++]

          *(++p): 先使 p 加1,再取 *p,相當於 a[++i]

          ++(*p): 先取 *p 的值,再使 *p 的值加1,相當於 a[i]++

7.       voidfun(int arr[]) 相當於 void fun(int *arr) ,C編譯都是將形參數組名作爲指針變量來處理的。

8.       實參和形參組合共有四種:分別是,都用數組名;都用指針變量;實參用數組名,形參用指針變量;實參用指針變量,形參用數組名;但本質上都一樣,都是使用指針變量。

9.       實參數組名代表一個固定的地址,是指針常量,但形參數組是作爲指針變量,在函數調用開始時,它的值等於實參數組首元素的地址,在函數執行期間,他可以在被賦值。

10.   如果指針變量作實參,必須先使指針變量有確定的值,指向一個已定義的單元。

《C語言程序設計》

發佈了30 篇原創文章 · 獲贊 16 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章