ポインタ(一)


本文は1級のポインタ、2級のポインタの簡単な使い方を記録します
文書ディレクトリ
  • ポインタ(値)を関数パラメータ
  • とする.
  • ポインタ(アドレス)を関数パラメータ
  • とする.
    関数パラメータとしてポインタ(値)
    int a = 10;
    int * p = &a;
    ...
    fun(p);	//   p      ,   p     
    ...
    //              
    // void fun(in a)
    void fun(int *p) {
    	p = 0x1122;	//          p  ,     p  
    				//          p  
    }
    

    ポインタ(アドレス)を関数パラメータとする
    int a = 10;
    int *p = &a;
    ...
    fun(&p);	//   p   ,   p      
    ...
    void fun(int** p) {
    	*p = 0x1122;	//     p    
    	**p = 20;		//     p        ,    a     
    }
    

    通常、上記の2つの操作は同時に行わないことをお勧めします.
    まとめ:
  • 一級ポインタ形パラメータは、最終的に指すメモリの値(I/O)
  • に用いることが多い.
  • 二次ポインタパラメータは、実パラメータポインタ自体および最終的にメモリを指す値(I/O)
  • によく使用される.