【发布时间】:2013-03-17 20:32:37
【问题描述】:
当您必须设置静态数组的元素时,我对将什么作为第一个参数传递给 memset 感到有些困惑。我一直在搜索,但找不到某些特定问题的答案。
如果我有一个数组声明为:
char arr[10];
我已经看到这两个调用是有效的并且产生相同的效果:
memset( arr, 0, 10);
memset( &arr, 0, 10);
我的具体问题是:
1- 为什么它们对 arr 有相同的影响?
2- 这些调用有什么不同?
3- 哪一个会被认为是正确的?
谢谢!
【问题讨论】:
-
将它们全部设置为零的正确方法:
char arr[10] = {};