C ++配列とポインタ

C ++では、配列名は実際には配列の最初の要素への定数ポインターです。

配列に関するブログ(C ++ 1次元配列)で述べたように、配列はメモリ内の線形構造です。バドミントンチューブ(バドミントンが入っている長い箱)があると想像できます。内部に最大5つのバドミントンがあり、開いた端が最後であると仮定します。次に、このモデルを配列と考えることができます。配列のサイズは5です(これ以上収まらない)。

配列を宣言するとします:

INTのリスト[ 6 ] = { 111213141516 }。

次に、この配列がメモリに格納される方法は次のとおりです。

 

ポインタを使用して、次のような配列の値にアクセスできます。

 

 C ++は、ポインターが整数を加算または減算できるようにします。これは、ポインターに含まれるアドレスが増減することを示し、変更の量は整数のサイズ*メモリ空間に割り当てられたポインター型です

上記の例のように、リスト配列はint型であり、ポインターリストはint *型です。これは、intの型がメモリ内で4ビットを占めるため、list + 1はアドレスが4増えることを意味します。つまり、listで表されるアドレスは10で、list + 1で表されるアドレスは10 + sizeof(int)= 14です。

おすすめ

転載: www.cnblogs.com/bwjblogs/p/12699685.html