【c++ 复健】从简单的做起,数组和二维数组

【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));//这个东西,for里面初始化的话,伪随机数会导致每次结果都一样
	

	double array_balance[10] = {1000.5,100.0,5.0,6.0};
	//type arrayName [ arraySize ];
	double salary = array_balance[0];
	for (int i = 0; i < 10; i++) {
		if (array_balance[i] == NULL) {
			//srand(time(0));
			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];
	//二维数组的动态内存分配申请,用new,完了要delete
	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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值