一维二维数组初始化
1.?一維數組
- 靜態 int array[100]; 定義了數組array,并未對數組進行初始化
- 靜態?int array[100] = {1,2}; 定義并初始化了數組array
- 動態?int* array = new int[100]; ?delete []array; 分配了長度為100的數組array?
- 動態?int* array = new int[100]{1,2};? delete []array; 為長度為100的數組array初始化前兩個元素
2. 二維數組
- 靜態 int array[10][10]; 定義了數組,并未初始化
- 靜態 int array[10][10] = { {1,1} , {2,2} }; 數組初始化了array[0][0,1]及array[1][0,1]
- 動態 int (*array)[n] = new int[m][n]; delete []array;? // in c++11: auto array = new int[m][n]
- 動態 int** array = new int*[m]; for(i) array[i] = new int[n]; ?for(i) delete []array[i]; delete []array; ? ?多次析構
- 動態 int* array = new int[m*n]; ?delete []array; ? ? ?數組按行存儲
- 注意這種方式不可用: int **array = new int[m][n];
總結
- 上一篇: canny边缘检测 关于2个阈值参数
- 下一篇: CUDA make_float3和mak