C / C ++の配列では、相違点との接続をポインタ

ここでは、二次元配列、および2つのポインタの話

typedefは構造体{
  文字列名。
  フロートスコア。
  ブール性別; 
} info_t。
A_info次元配列info_tの[ 3 ] [ 4 ]; 

二つのポインタのinfo_t ** P_INFO。

ポインタは、配列へのポインタのアレイであります

アレイの名前はa_info最初の要素を指し、ポインタ定数である[0] [0]

 

どのように2次元配列の初期化に二つのポインタを使用するには?

:配列ポインタ付き

info_t (* P_INFO) [ 4 ] = a_info; //なお、ブラケット、優先:優先参照インデックス

全く逆のプロセス:いいえ二次ポインタ2次元アレイを初期化する又は割り当てます。

 

二つのポインタを理解するには?

ポインタのポインタ

まだ非常に孟。これは、小箱(ポインタ)の大箱(ポインタ)セット、携帯電話内の小さなボックスとして理解することができます。

それは大きなまたは小さなボックスボックス、携帯電話となっている最終的な結果であるかどうか、だけの大きな箱の直接品物は小さなボックスで、大きな箱を再び歩い内の小さなボックスに1を、小さなボックスが携帯電話です。

だから、二つのポインタと2次元配列を混同しないように、それはそれらの間の問題ではありません!

 

2次元配列を理解するには?

info_t a_info[3][4]; // 3行4列
以下は、各文の意味は何ですか?
+ 1 a_info; 第二列に//この配列の点、アレイは、要素の四種類から構成されinfo_t

 

*(a_info + 1); // 指向a_info[1][0]

 

*(a_info + 1) + 5; // 指向a_info[1][5]

*(*(a_info + 1)+ 5); // アクセス要素が、もはや"点"ではないが、素子自体

 リファレンス「のCおよびポインタ」のp。158

おすすめ

転載: www.cnblogs.com/qianxiaolingyun/p/11784495.html