pointer3.c

/*

  e02999ab  環境太郎



  ポインタと配列

  pointer3.c

  gcc -o pointer3  pointer3.c

  ./pointer3

*/



#include <stdio.h>



int main( void ) {

  int a[5] = { 4, 7, 2, 10, 8 };

  int * ap = &( a[0] );

  

  printf( "&(a[0]) is %p\n", &(a[0]) );  /* aの最初の要素のアドレスを表示 */

  printf( "array a is %p\n", a );        /* 配列の名前はそのまま配列のアドレスとして扱われる */

  

  /* ポインタ値[n]  と  *(ポインタ値 + n)  は同じ意味 */

  

  /* 配列名aを使って配列aの要素を表示してみる */

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

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

  printf( "%d, %d\n", a[2], *(a + 2) );

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

  printf( "%d, %d\n", a[4], *(a + 4) );

  printf( "-------------\n" );

  

  /* ポインタapを使って配列aの要素を表示してみる */

  printf( "%d, %d\n", ap[0], *(ap + 0) );

  printf( "%d, %d\n", ap[1], *(ap + 1) );

  printf( "%d, %d\n", ap[2], *(ap + 2) );

  printf( "%d, %d\n", ap[3], *(ap + 3) );

  printf( "%d, %d\n", ap[4], *(ap + 4) );

  

  return 0;

}

[^] [<<] [<] [>]