C/C++におけるポインタと配列に関する知識
1536 ワード
1次元配列の配列名はヘッダアドレスを表し、2次元配列の配列名は1行目の行アドレスを表し、3次元配列の配列名は最初の2次元のアドレスを表す.siziof()は、パラメータが通常の配列の場合、結果は配列全体のバイト数です.ただし,配列が関数のパラメータとして扱われている場合,以下sizeofを呼び出すと配列名がヘッダアドレスとして扱われ,結果は4となる.
Int *p=new int[10];//配列はInt*q=new int 10を初期化していません//配列を0に初期化
範囲for 2 D配列:
char *cp[2] = { "abc", "def" };
char **cpp[2] = { cp, cp + 1 };
char ***cppp = cpp;//cppp cpp
cout << (**cppp + 1) << endl;//"bc"
cout << *(*cppp + 1) << endl;//"def"
cout<1)<// "def"
cout << ***cppp << endl;//a
Int *p=new int[10];//配列はInt*q=new int 10を初期化していません//配列を0に初期化
範囲for 2 D配列:
Int a[2][3]={1,2,3,4,5,6};
Int (&b)[3]=a[1];
for( auto &b:a)
for( auto &x:b)
cout<