char (*p)[10]為陣列指標,實際上相當於二維陣列,也就是指向乙個一維陣列的指標
p可以單獨看做指向陣列的指標
比如這樣
int (*b) [2];
int cc[2][2] = {
1,2
3,4b=cc;
b++;
cout《這樣的賦值是可以的,b指向的陣列的大小一定要和cc的第一維陣列大小一致,這裡輸出,4,因為b++,這個時候b指向了cc的第二個二維陣列,這個時候b就相當於乙個int[1][2]陣列,
int (*b2)[10]=new int[10][10];
這樣寫也是可以的
char *p[10]為指標陣列
指標陣列:乙個陣列裡存放的都是同乙個型別的指標,通常我們把他叫做指標陣列。
比如 int * a[10];它裡邊放了10個int * 型變數,由於它是乙個陣列,已經在棧區分配了10個(int * )的空間,也就是32位機上是40個byte,每個空間都可以存放乙個int型變數的位址,這個時候你可以為這個陣列的每乙個元素初始化,或者單獨做個迴圈去初始化它。
在16位系統下指標為2個位元組,32位系統下指標為4個位元組,64為系統下指標為4個位元組
c 陣列指標和指標陣列
先記住 指標陣列 本質是陣列,資料可以用來存放int float等物件,當然也可以存放指標。例子 陣列指標,用樓上的話就是指向陣列的指標,操作指標就可以運算元組如下 int a 3 int p a printf 陣列指標 d n p 1 列印的結果為2,原因是p初始化指向了陣列a的首位址,即a 0 ...
C語言 指標陣列和指標陣列
本質是陣列 只不過呢,它裡面存放的資料型別不是int,也不是char這類基本型別,而是乙個指標型別,說白了就是位址,所以叫指標陣列!記住 是存放指標的陣列!int p n 本質是指標 只不過是指向乙個陣列的指標,也稱之為 行指標 int p n p是乙個指標,指向乙個int型別的一位陣列,這個一位陣...
《C語言筆記 指標陣列和陣列指標》
一,從字面意思來理解指標陣列和陣列指標 1,指標陣列 實質是乙個陣列,這個陣列裡存放的元素是指標。2,陣列指標 實質是乙個指標,這個指標指向乙個陣列。二,分析指標陣列和陣列指標的表示式 int p 5 int p 5 int p 5 1,先說說一般規律。int p p是乙個指標 int p 5 p是...