我們可以在函式實參中直接使用陣列名來使用陣列,陣列元素的指標就是陣列元素的位址。我們又知道陣列名代表陣列首元素的位址。因此
p=&a[0];
p=a;
這兩條語句是等價的。我們再看一下它的初始化語句
int *p=&a[0]; 或寫成 int *p =a;
下面介紹下陣列指標的運算:
當指標已經指向乙個陣列元素時可以進行 p+n 或 p-n n為整數 p+n/p-n指的是指向陣列下乙個或上乙個元素並不是將位址加減而是按照陣列元素型別進行加減
同理++怕,--p,p1-p2是同乙個道理。
接下來我們來區分下(p+1)和*(p+1)
int a[5]=;
int *p=&a[0];
(p+1)指的是 陣列元素a[1]的位址
*(p+1)指的是陣列元素a[1] 即*(p+1)=2
C和指標詳解 陣列
8.1.1 陣列名int a int b 10 a是標量,b為陣列。在c中幾乎所有的陣列名的表示式中,陣列名的值是乙個指標常量,也就是陣列第乙個元素的位址。不過也不要根據這個得出陣列和指標是相同的結論。陣列具有一些何指標完全不同的特徵。例如,陣列具有確定數量的元素,而指標只是乙個標量。編譯器用陣列名...
C語言指標與陣列詳解
指標與陣列是 c 語言中很重要的兩個概念,它們之間有著密切的關係,利用這種 關係,可以增強處理陣列的靈活性,加快執行速度,本文著重討論指標與陣列之 間的聯絡及在程式設計中的應用。1 指標與陣列的關係 當乙個指標變數被初始化成陣列名時,就說該指標變數指向了陣列。如 char str 20 ptr pt...
C 指標陣列與陣列指標詳解
首先先定義乙個指標陣列,既然是陣列,名字就叫arr char arr 4 arr就是我定義的乙個指標陣列,它有四個元素,每個元素是乙個char 型別的指標,這些指標存放著其對應字串的首位址。即 char arr 4 當乙個變數出現左右都出現乙個運算子時,沒有記住運算子優先順序的人就會糾結arr變數到...