使用全局变量,如:
params_vector[100][100] = {};
是否可以“重置”或“清除”此数组中的值,使其与初始化时的值相等? char *arg[]
有很多例子(arg[i] = NULL
有效),但没有像这样的“矩阵”。
答案 0 :(得分:2)
如果这是char
的多维数组,您可以重置"只需拨打
#include <string.h>
memset(params_vector, 0, sizeof params_vector);
如果您只需要将每个字符串的第一个字节设置为0,那么使用for
循环可能会更有效。
答案 1 :(得分:1)
假设这是一个char
的多维数组,例如
char params_vector[N][M];
对于N和M的某些值 - 您不需要memset()
将整个的内容添加到&#39; \ 0&#39 ;;它足以将每个字符串的第一个字符设置为&#39; \ 0&#39;:
for(size_t i = 0; i < N; i++) {
params_vector[i][0] = '\0';
}
但是,如果N
很小,则此优化可能不值得,而且
memset(params_vector, '\0', M * N);
没关系。
答案 2 :(得分:0)
使用memset
:
memset(params_vector, 0, sizeof(params_vector));