C言語のポインタの概要

1つの変数へのポインタ。

1  int型 A = 5 2  int型 * p =&;
3のprintf(" %d個"、* P);

前記ポインタ配列

ポインタ(1)一次元アレイ

1  INT [ 5 ] = { 12345 }。
2  INT * P;
3 P = 4のprintf(" %d個の\ n "、[ 1 ])。
5のprintf(" %d個の\ n "、*(P + 1 ))。
6のprintf(" %dの"、P [ 1 ])。

ポインタ(2)二次元アレイ

  (1)カラムポインタ

1  INT [ 3 ] [ 4 ] = { 123456789101112 }。
2  INT * P;
3  // P =&[0] [0]。
4  // P = [0]。
5 P = * 6のprintf(" %d個の\ n "、*(p + 4 * 2 + 3))。  // A [I] [J] = *(N * P + IがJ + 1);     // 列数nは、アレイ内の
図7のprintf(" %のD "、A [ 2 ] [ 3 ])。

  (2)行ポインタ(配列へのポインタ)

1  INT [ 3 ] [ 4 ] = { 123456789101112 }。
2  INT(* P)[ 4 ]。
3 P = 4のprintf(" %d個の\ n "、[ 2 ] [ 3 ])。
5のprintf(" %d個"、*(*(P + 2)+ 3))。

3.関数へのポインタ

1  INT メイン()
 2  {
 3      int型 FUNC(INT A)。
4      INT(* P)(INT A)。
5      int型 A = 5 6      P = FUNC。
7      (* P)(A)。  // 调用
8      リターン 1 9  }
 10  INT FUNC(INT A)
 11  {
 12      のprintf(" %dの" 、A)。
13      リターン 1 14 }

ポインタへ4.ポインタが(時にはフロント*がダウンして無制限の書き込みではないと思った......)

1  int型 A = 5 2  のint * p1の、** P2、*** P3;
3 P1 =& 4つの P2 =&P1。
5つの P3 =&P2。
6のprintf(" %dの"、*** P3)。

ポインタの配列

1つ のchar *のP [ 3 ] = { " こんにちは""  "" 世界" }。
2のprintf(" %sの"、*(P + 2))。

6.リターン関数ポインタ値

1  INT メイン()
 2  {
 3      のchar *のmyStrcat(チャー * P1を、チャー *のP2)。
4      チャー STR [ 100 ] = " こんにちは" 5      のchar *のMES = " 世界" ;
6      のprintf(" %sにする\ n " 、myStrcat(STR、MES))。
7      リターン 1 8  }
 9  のchar * myStrcat(チャー * P1を、チャー *のP2)
 10 {
 11      のchar * START = P1。
12      ながら(!* P1 = ' \ 0 ' 13      {
 14の          P1 ++ 15      }
 16      ながら(* P1 ++ = * P2 ++ 17      {}
 18      戻り始めます。
19 }

7.ファイルポインタ

  FILEの* fpは、

ここでは言葉はあまり厳格です。「Cプログラミング言語(第3版)」によれば、ポインタがアドレスであり、ポインタ変数は、アドレスを格納する変数です。「ポインター」と「タグ」は、異なる概念です。

しかし、ほとんどの場合、「タグ」を直接「ポインタ」と呼ばれます ここで第二の点、6点目、「ポインタ」を参照に加えて、「ポインタ変数」。

おすすめ

転載: www.cnblogs.com/ben-/p/11295530.html
おすすめ