C語言 指標陣列和指標陣列

2021-09-22 17:40:07 字數 652 閱讀 2527

本質是陣列

只不過呢,它裡面存放的資料型別不是int,也不是char這類基本型別,而是乙個指標型別,說白了就是位址,所以叫指標陣列! 記住:是存放指標的陣列!

int *p[n]
本質是指標

只不過是指向乙個陣列的指標,也稱之為「行指標」

int (*p)[n]
p是乙個指標,指向乙個int型別的一位陣列,這個一位陣列的長度是n。也就是說執行p+1時,p要跨過n個int型別陣列的長度。

int a[3][4];  //定義乙個二維陣列

int(*p)[4]; //該語句是定義乙個陣列指標,指向含4個元素的一位陣列

p=a; //將該二維陣列的首位址賦值給p,也就是a[0]或&a[0][0]

p++; //該語句執行過後,也就是p=p+1;p跨過行a[0]指向了行a[1]

參考 【程式設計經驗】關於陣列指標與指標陣列的解

C語言中陣列指標和指標陣列

如果看這兩個概念的英文翻譯可能會更容易理解 陣列指標 pointer to array 指標陣列 a array of pointer 顧名思義,陣列指標就是乙個指標變數,該變數指向乙個陣列。而指標陣列就是乙個陣列,這個陣列的元素都是指標,即每乙個元素都可以當成乙個指標變數使用。下面給出兩者的定義和...

C語言 指標陣列和指標陣列 函式指標和指標函式

在c語言中最令然頭疼的莫過於指標 特別是指標和陣列符號一起出現的 傻傻搞不清楚的原因主要在於運算子的優先順序沒有搞清 指標的運算子 陣列運算子,函式運算子 陣列元算符 運算優先順序和函式運算子 或者說強制改變運算順序符號 都是位於第一優先順序的 而我們的指標運算子則是第二優先順序 所以當出現 int...

c 陣列指標和指標陣列

先記住 指標陣列 本質是陣列,資料可以用來存放int float等物件,當然也可以存放指標。例子 陣列指標,用樓上的話就是指向陣列的指標,操作指標就可以運算元組如下 int a 3 int p a printf 陣列指標 d n p 1 列印的結果為2,原因是p初始化指向了陣列a的首位址,即a 0 ...