|
お世話になっております。次にあるプログラムで*の使われ方が理解できません。どなたか教えてください、お願いします。
#include <stdio.h>
int main(void)
{
int dat[2][3][2] = {{{1,2},{3,4},{5,6}},
{{7,8},{9,10},{11,12}}};
printf("&dat[0][0][0] :%d\n", &dat[0][0][0]);
printf("&dat[0][0][1] :%d\n", &dat[0][0][1]);
printf("&dat[0][1][0] :%d\n", &dat[0][1][0]);
printf("&dat[1][0][0] :%d\n", &dat[1][0][0]);
printf("-------------------------------------\n");
printf("dat+1 :%d\n", dat+1);
printf("*dat+1 :%d\n", *dat+1);
printf("**dat+1 :%d\n", **dat+1);
printf("***dat+1 :%d\n", ***dat+1);
return 0;
}
######################
出力結果
######################
&dat[0][0][0] :1245008
&dat[0][0][1] :1245012
&dat[0][1][0] :1245016
&dat[1][0][0] :1245032
----------------------
dat+1 :1245032
*dat+1 :1245016
**dat+1 :1245012
***dat+1 :2
|