KAIHATSUGIKEN GROUP
********************************************************************************
5 配列とポインタ
************
main()
{
int a[3];
int *z;
a[0]=10;
a[1]=20:
a[2]=30:
z=a;
printf("%d,%d,%d\n",*z,*(z+1),*(z+2));
printf("%d,%d,%d\n",*z,*z+1,*z+2);
}
****
10,20,30
10,11,12
****
main()
{
int a[3]; /* "a[3]"で3つの配列があることを意味する */
int *z;
a[0]=10;
a[1]=20:
a[2]=30:
z=a;
printf("%d,%d,%d\n",*z,*(z+1),*(z+2));
printf("%d,%d,%d\n",*z,*z+1,*z+2);
}
****
main()
{
int a[3]; /* "a"は先頭のa[0]のアドレスを示す a=&a[0] */
int *z; /* a=&a=*z のとなる */
a[0]=10;
a[1]=20:
a[2]=30:
z=a;
printf("%d,%d,%d\n",*z,*(z+1),*(z+2));
printf("%d,%d,%d\n",*z,*z+1,*z+2);
}
****
main()
{
int a[3];
int *z;
a[0]=10; /* z =a[0] */
a[1]=20: /* z+1=a[1] */
a[2]=30: /* z+2=a[2] */
z=a; /* a=z a+1=z+1 a+2=z+2 */
printf("%d,%d,%d\n",*z,*(z+1),*(z+2));
printf("%d,%d,%d\n",*z,*z+1,*z+2);
}
****
main()
{
int a[3];
int *z;
a[0]=10; /* z =a[0] */
a[1]=20: /* z+1=a[1] */
a[2]=30: /* z+2=a[2] */
z=a;
printf("%d,%d,%d\n",*z,*(z+1),*(z+2)); /* *z=a[0] *(z+1)=a[1] *(z+2)=a[2] */
printf("%d,%d,%d\n",*z,*z+1,*z+2);
}
****
main()
{
int a[3];
int *z;
a[0]=10; /* z =a[0] */
a[1]=20: /* z+1=a[1] */
a[2]=30: /* z+2=a[2] */
z=a;
printf("%d,%d,%d\n",*z,*(z+1),*(z+2));
printf("%d,%d,%d\n",*z,*z+1,*z+2); /* *z+1=a[0]+1=10+1 *z+2=a[0]+2=10+2 */
}