KAIHATSUGIKEN GROUP

C PROGRAMMING LANGUAGE




********************************************************************************
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 */
}