2015年6月6日土曜日

ポインタの威力

C言語の復習にポインタの威力を改めて勉強してみました。 やはり 3つ以上のポインタは訳がわからなくなりそうですね。
#include <stdio.h>
int main(void){
int *p1[2][2],**p2[2],***p3;
int i[4]={100,200,300,400};
p1[0][0]=&i[0];
p1[0][1]=&i[1];
p1[1][0]=&i[2];
p1[1][1]=&i[3];
p2[0]=p1[0];
p2[1]=p1[1];
p3=p2;
for(int i=0;i<2;i++){
for(int j=0; j<2; j++){
printf("p[%d][%d]=%p %d\n",i,j,p3,*(**p3+i*2+j));
}
}
}
view raw triple.c hosted with ❤ by GitHub