一维二维数组初始化

1. 一维数组

  1. 静态 int array[100];   定义了数组array,并未对数组进行初始化
  2. 静态 int array[100] = {1,2};  定义并初始化了数组array
  3. 动态 int* array = new int[100];  delete []array;  分配了长度为100的数组array 
  4. 动态 int* array = new int[100]{1,2};  delete []array; 为长度为100的数组array初始化前两个元素

2. 二维数组

  1. 静态 int array[10][10];  定义了数组,并未初始化
  2. 静态 int array[10][10] = { {1,1} , {2,2} };  数组初始化了array[0][0,1]及array[1][0,1]
  3. 动态 int (*array)[n] = new int[m][n]; delete []array;  // in c++11: auto array = new int[m][n]
  4. 动态 int** array = new int*[m]; for(i) array[i] = new int[n];  for(i) delete []array[i]; delete []array;    多次析构
  5. 动态 int* array = new int[m*n];  delete []array;      数组按行存储
  6. 注意这种方式不可用: int **array = new int[m][n];

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/108360968