關於三維陣列和指標的測試

2021-08-10 10:32:02 字數 2743 閱讀 8837

#include int main(void)

; //用下面的表示看起來比較直接對得上

int a[2][3][4] = ,

,

},

,

,

//下乙個就是0xbfd3d270

}

};for(i=0; i<2; i++)}}

printf("\na = %p\n",a); //a表示陣列a[2]首元素a[0]的首位址

printf("a+1 = %p\n\n",a+1); //表示陣列a[2]第二個元素a[1]的首位址

int (*p0)[3][4] = a; //a[0]中有三個元素,每個元素又有4個元素,所以對應陣列[3][4]

printf("p0 = %p\n",p0); //p0是指向a[0]或a[1]型別的

p0 = &a[0]; //賦值沒問題,說明型別一致,值相同所以就說明a就是

//首元素a[0]首位址,a和&a[0]都指向元素a[0]

printf("p0 = %p\n\n",p0);

printf("p0+1 = %p\n\n",p0+1); //p0+1就指向a[1]了.

int (*p)[2][3][4] = &a; //取a的位址就相當於整個三維陣列的首位址

printf("p = %p\n", p);

printf("p+1 = %p\n\n", p+1); //加1就相當於指標跑到a[1][2][3]位址的後面,超過了陣列越界了.

int *p1 = a[0][0]; //a[0][0]是首元素a[0][0][0]的首位址.指向a[0][0][0]

int *p2 = a[1][0]; //a[1][0]是首元素a[1][0][0]的首位址.指向a[1][0][0]

printf("p1 = %p\n", p1);

printf("p1+1 = %p\n", p1+1); //+1 指向a[0][0][1]

printf("p1+3 = %p\n\n", p1+3); //+3 指向a[0][0][3]

printf("p2 = %p\n", p2); //a[1][0]是首元素a[1][0][0]的首位址.指向a[1][0][0]

printf("*p1 = %d\n", *p1);

printf("*p2 = %d\n", *p2);

printf("*(p1+19) = %d\n", *(p1+19)); //從a[0][0][0]開始數19個元素,得到a[1][1][3]

printf("*(p2+2) = %d\n", *(p2+2)); //從a[1][0][0]開始數2個元素,得到a[1][0][2]

printf("*(a[0][0]+18) = %d\n", *(a[0][0]+18)); //從a[0][0][0]開始數18個元素,得到a[1][1][2]

int (*p3)[4] = &a[0][0]; //p3是指向元素a[0][0],它包含4個int的元素

printf("p3 = %p\n", p3);

printf("p3+3 = %p\n", p3+3); //+3等於向下移動3*4個int那麼多個位址,所以指向a[1][0]

printf("a[1][2][2]=%d\n",a[1][2][2]);

printf("a[1][2][3]=%d\n",a[1][2][3]);

/* int a[2][6] = , };

int (*p)[6];

p = a;

p = &a[0];

printf("a[2][6] = , }\n");

printf("a[0][3]=%d *(*(p+0)+3)\n", *(*(p+0)+3));

printf("a[1][3]=%d *(*(p+1)+3)\n", *(*(p+1)+3));

printf("p+0=%p *(p+0)\n", *(p+0));

printf("p+1=%p *(p+1)\n", *(p+1));

int *p1 = a[0];

int *p2 = &a[0][0]; //a[0]等同於&a[0][0]

C 指標 指標與三維陣列 6

1 三維陣列,有些朋友會很少接觸,這裡上碼,看看三維陣列是怎麼樣的 includeint main printf d d d d c,c,c 0 c 0 0 執行結果 以上 我們列印了各個變數的位址,都是相同的的。2 includeint main printf d d d d n c,c,c 0 ...

php三維陣列定義,PHP陣列之三維陣列

area array china array 上海 湖北 天津 北京 array hd 海淀 朝陽 房山 cp 昌平 廣東 array 深圳 廣州 佛山 dg 東莞 usa array 華盛頓 舊金山 紐約 array 曼哈頓區 皇后區 布魯克林區 echo var dump area echo 輸...

三維字元陣列

題目描述 輸入n個學生的資訊,然後進行查詢。輸入輸入的第一行為n,即學生的個數 n 1000 接下來的n行包括n個學生的資訊,資訊格式如下 01 李江 男 21 02 劉唐 男 23 03 張軍 男 19 04 王娜 女 19 然後輸入乙個m m 10000 接下來會有m行,代表m次查詢,每行輸入乙...