========================================================= ポインタについて ========================================================= ポインタの定義 ====================================== ポインタの定義の仕方は空白に関係しない.どれも同じ. .. code-block:: c int *iptr; int* ptr; int * ptr; 代入 / アドレス演算子 ====================================== 変数のアドレスをとってくるのは **アドレス演算子 "&"**,ポインタはそれを格納する. .. code-block:: c int num = 1; int *iptr; iptr = # また,ポインタ変数を使って,中身を参照するときは, .. code-block:: c *iptr = *iptr + 1 printf( "%d", *iptr ) 値渡しと参照渡し ===================================== 値渡しでは,関数内で値を変更しても,元のルーチンには影響を与えない. .. code-block:: c int twice( int a ) { a = a * 2 } ポインタ渡しでは,関数内で値を変更した場合,元のルーチンにも反映される(ポインタによって変数の実アドレスを渡しているのだから当たり前). .. code-block:: c int twice( int *a ) { a = a * 2 }