为了账号安全,请及时绑定邮箱和手机立即绑定

C语言二维动态数组赋值问题

C语言二维动态数组赋值问题

C
qlzy 2016-12-08 22:31:52
请问一下,如何对一个动态二维数组赋初值呢?
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

你所谓的“动态”,应该是指new出来的吧?

C语言中所谓动态,就是用new申请一块内存,然后依需要来使用之。而“初值”指的是对象在定义的同时赋予的值。

所以严格地说,new出来的东西是没有“初值”的(当然申请到的内存中会带有随机值,但你并不能在申请内存的同时指定“初值”)。

那么抛开“初值”这个概念不谈,其实你得到new出来的内存后,只要向其中赋你需要的值就好了——对于你说的数组,就给每个元素赋值即可。


另外说一个实践中常用的方法:就像前面提到的,new出来的内存中的值是不确定的。而你申请了一个数组,也许希望这是个“全新”的数组(所有元素的值都为0)。但一开始就要把所有元素都赋值为0很麻烦,所以可以这样做:你知道你申请的这一块内存有多大,那么直接使用库中的 memset 函数(在<string.h>头文件中)把这段内存填0,这样数组中的全部元素也就都是0了。

当然如果你这个数组中元素不是简单类型、需要各个元素都有独特的“初值”的话,那你只能一个个元素地赋值。

查看完整回答
1 反对 回复 2016-12-08
  • 1 回答
  • 0 关注
  • 2103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信