pointer2.cpp

/*
  ポインタの基本的な使い方2
  pointer2.cpp
*/

#include <stdio.h>

int main( void ) {
  int i = 100;
  double d = 1.23;

  int * ip = NULL;     /* ipが何も指していないことを示すためにNULLで初期化 */
  double * dp = NULL;  /* dpが何も指していないことを示すためにNULLで初期化 */
  
  ip = &i; /*  iのメモリアドレスをipに代入 */
  dp = &d; /*  dのメモリアドレスをdpに代入 */
  
  if( ip != NULL ) *ip = 5; /*  ipがNULLでなければ,ipの指している先,つまりiの値を5に変更 */
  if( dp != NULL ) *dp = 2.34;  /*  dpがNULLでなければ,dpの指している先,つまりdの値を2.34に変更 */
  
  printf( "i   is %d\n", i );   /* iの値が変更されている */
  printf( "*ip is %d\n", *ip );
  printf( "d   is %f\n", d );   /* dの値が変更されている */
  printf( "*dp is %f\n", *dp ); 
  
  getchar( );
  return 0;
}

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