动态数组的使用(一维动态数组、二维、三维、N维)

本文介绍了动态数组的概念,强调了理解动态分配原理的重要性。通过示例展示了C语言中如何使用malloc创建一维、二维及三维动态数组。文中提到,虽然必须预先知道数组的大小,但这种方式能灵活应对不定长度的数据需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只要理解了原理就不难了。*号再多也只是数据类型,保证分配空间的前后类型匹配再多的维数都不是问题。

只要知道这一个——int *p=(int *)malloc(sizeof(int)*k),n维数组的不同之处也就剩下释放指针了。后分配先释放,如同树状结构。

之前对于不定长度的数据一直都是用链表存储的,会使用malloc和new命令,但一直没想到把最基本的数组也用动态的方式存储。

下面是用C中的malloc命令写的创建动态数组的代码:

#include<stdio.h>
#include<stdlib.h>
int* createarray()
{
	int* HeadOfArray;
	HeadOfArray=(int*) malloc(sizeof(int)*10);//a[10]
	for(int i=0;i<10;i++)
		HeadOfArray[i]=i;
	return HeadOfArray;
}

int main()
{	

	for(int i=0;i<10;i++)
		printf("%d ",createarray()[i]);

	system("pause");
}

当然用C++中的new实现也很简单。

int* createarray_new()
{
	int* arrayhead;
	arrayhead=new int[sizeof(int)*10];
	for(int i=0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值