C#中的多维数组与C中的多维数组的区别

本文探讨了C语言中多维数组的一维数组实现原理,并对比了C#中的变长多维数组实现方式。C语言中多维数组通过预分配固定长度内存实现,而C#则允许在运行时动态调整数组列数。

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

C中的多维数组其实是一维数组来实现的


比如:


int a[i][j],创建的时候,可以不给出i的值,但是必须给出j的值。


也就是说在c中多维数组的实现方式是这样的:(以二维数组为例)


用一维数组来存储二维数组,然后划分长度为j的片段,每一个片段为一行。



也就是说,c中的多维数组在分配存储空间的时候,每一行都在一开始便分配好了相等的存储空间,即是定长的



而在C#或者Java中实现方式可是使得多维数组变长,还是以二维数组作比


int a[i][j],在实例化的时候,一定要给出i的值,但是可以不给出j的值


也就是说,只分配给每一行一个引用,但是每个引用指向的空间的大小还得再一次实例化。

从而实现列的变长~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值