请问一下,如何对一个动态二维数组赋初值呢?
1 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
你所谓的“动态”,应该是指new出来的吧?
C语言中所谓动态,就是用new申请一块内存,然后依需要来使用之。而“初值”指的是对象在定义的同时赋予的值。
所以严格地说,new出来的东西是没有“初值”的(当然申请到的内存中会带有随机值,但你并不能在申请内存的同时指定“初值”)。
那么抛开“初值”这个概念不谈,其实你得到new出来的内存后,只要向其中赋你需要的值就好了——对于你说的数组,就给每个元素赋值即可。
另外说一个实践中常用的方法:就像前面提到的,new出来的内存中的值是不确定的。而你申请了一个数组,也许希望这是个“全新”的数组(所有元素的值都为0)。但一开始就要把所有元素都赋值为0很麻烦,所以可以这样做:你知道你申请的这一块内存有多大,那么直接使用库中的 memset 函数(在<string.h>头文件中)把这段内存填0,这样数组中的全部元素也就都是0了。
当然如果你这个数组中元素不是简单类型、需要各个元素都有独特的“初值”的话,那你只能一个个元素地赋值。
- 1 回答
- 0 关注
- 2103 浏览
添加回答
举报
0/150
提交
取消