【发布时间】:2014-03-09 23:57:56
【问题描述】:
给定的,
一个由两个元素组成的数组,初始化为 1 ,2
int data[2] = {1,2} ;
现在必须使用单个语句将数据中的元素更改为零。这怎么可能 ? .
我认为是将其类型转换为双指针,然后将值设为 0 ,
*((双 *)数据) = 0 ;
因为整数每个占用 4 个字节,所以分配给数组的内存是 8 个字节。 因此,当我将类型转换为 double(8 bytes) 并将其设置为 0 时。
成功了。我只是想知道这是正确的方法还是有其他更好的解决方案?
除了 memset 还有其他解决方案吗?
【问题讨论】:
-
我没有得到一个数组,你是。
-
尝试搜索一下。一个好的搜索查询可能是“将 C 中的数组归零”。对于您的特定问题,提示是
memset。 -
@SanjayT.Sharma 我只想知道我的方法是否正确。很抱歉一开始没有对问题给出清晰的描述。现在我已经编辑了问题。
-
@MarounMaroun 我已经编辑了这个问题。看看吧。