在C中,有没有比使用for循环逐个设置数组值更简单的方法呢?
发布于 2010-11-01 11:48:07
如果将数组设置为全0,或者数组是字节数组,则可以使用memset
// Set myArray to all 0's
memset(myArray, 0, numberOfElementsInMyArray * sizeof(myArray[0]));如果您需要以大于一个字节的单位将其设置为除0以外的值(例如,将int数组设置为1),那么没有标准函数可以做到这一点--您必须为此编写自己的for循环。
发布于 2010-11-01 11:51:24
您可以将其设置为相同的值,但只能设置为0
How to initialize all members of an array to the same value?
将所有元素初始化为0
int myArray[10] = { 0 }; // all elements 0在那个页面上也有一个针对gcc的答案。
发布于 2010-11-01 11:48:21
取决于值。如果为零,则使用memset(a, 0, sizeof(a))。否则,如果它是一个char数组,你可以使用带有其他值的memset。但是memset总是在char级别工作,所以如果您的数组不是char,那么只有零可能是有意义的。
https://stackoverflow.com/questions/4066522
复制相似问题