【初心者歓迎】C/C++室 Ver.64【環境依存OK】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0915デフォルトの名無しさん
2009/04/07(火) 22:57:27>>913
おれもそれが何を確保してるのかよくわからん。
int (*p)[10] = new int [3][10]();
コンパイルも通るし、
913の言うように、
delete [] p;
で開放できてるけど。
pはintのポインタの配列の先頭か?
それが3個配列になってるのを確保したのかな?
+------+------+------+------+------+------+------+------+------+------+
| int* | int* | int* | int* | int* | int* | int* | int* | int* | int* |
+------+------+------+------+------+------+------+------+------+------+
<=先頭がp[0][0]
+------+------+------+------+------+------+------+------+------+------+
| int* | int* | int* | int* | int* | int* | int* | int* | int* | int* |
+------+------+------+------+------+------+------+------+------+------+
<=先頭がp[1][0]
+------+------+------+------+------+------+------+------+------+------+
| int* | int* | int* | int* | int* | int* | int* | int* | int* | int* |
+------+------+------+------+------+------+------+------+------+------+
<=先頭がp[2][0]
こんな感じ?
二次元配列はC++のnewでは一度には確保できないと思ったけどな。
レス数が900を超えています。1000を超えると表示できなくなるよ。