C++【配列を指すポインタ】と【配列ポインタ】の詳細分析

723 ワード

配列へのポインタ:char *p = new char;動的に割り当てられた文字変数へのポインタを定義します.char *p = new char[3];は、動的に割り当てられた1次元文字配列を指すポインタを定義し、pは配列の最初の要素のアドレス、すなわち(p+1)は配列の2番目の要素のアドレスを指す.char (*p)[3] = new char[2][3];は、動的に割り当てられた2次元文字配列(3行2列)を指すポインタを定義し、pは配列の1行目のアドレス、すなわち(p+1)は配列の2行目のアドレスを指す.char (*p)[9][8] = new char[7][9][8];は、動的に割り当てられた3次元文字配列を指すポインタ(7つの9列8行の2次元配列)を定義し、pは最初の2次元配列のアドレス、すなわち(p+1)が2番目の2次元配列のアドレスを指す.
同様に、charデータ型は、例えば、動的に割り当てられた1次元Pointクラスオブジェクト配列を指すポインタを定義するPointクラスタイプなどの他のデータ型に変換することができる.
ポインタ配列:ここでは、1次元配列のみを例に挙げます.Point *p = new Point[2];は、2つの要素がPointクラスオブジェクトを指すポインタであるPointクラスオブジェクトの配列を定義します(Point *p[2];).