【c++ 复健】从简单的做起,c++数组和二维数组
知识点主要是二维数组,一维数组直接建就行了。 静态的:
type arrayName[array size];
在堆里动态分配空间创的动态数组:
double *array = new double[size];
c++里面记得new分配了空间到后面就要释放内存,不然就算程序大了,会严重影响效率(内存占满了)。 释放内存:
delete [] array;
二维数组用到指针和动态分配内存申请了(当然也可以简单的array[?][?],但是这种方法貌似是个假的二维数组,实际上是个?*?大小的一维数组)。 我是这么写的:
double **array_2d = new double *[m];
这里写的是个 array_2d[m][n] ;
具体代码如下:
#include <iostream>
#include <time.h>
using namespace std;
int main() {
srand(time(0));
double array_balance[10] = {1000.5,100.0,5.0,6.0};
double salary = array_balance[0];
for (int i = 0; i < 10; i++) {
if (array_balance[i] == NULL) {
array_balance[i] = (double)(rand() % 15 + 1.0);
}
}
for (int j = 0; j < 10; j++) {
cout << array_balance[j] << endl;
}
int m, n;
cin >> m;
cin >> n;
double ** array_2d = new double * [m];
for (int i = 0; i < m; i++) {
array_2d[i] = new double[n];
for (int j = 0; j < n; j++) {
array_2d[i][j] = (double)(rand() % 23 + 2.0);
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cout << array_2d[i][j] << endl;
}
}
delete[] array_2d;
return 0;
}
|