如何将数组元素初始化为NULL。例如,如果我有 char * array [10]; 我希望最后一个元素为NULL,以便我可以将此数组传递给execv
答案 0 :(得分:17)
要将char*
数组初始化为所有NULL
s:
char* array[10] = { NULL }; /* The remaining elements are implicitly NULL. */
如果您想提供execv()
的初始元素:
char* array[10] = { "/usr/bin/ls", "-l" }; /* Again, remaining elements NULL. */
或者如果您希望省略数组声明中的维度:
char* array[] = { "/usr/bin/ls", "-l", NULL };
答案 1 :(得分:1)
NULL
只不过是:#define NULL (void*) 0 UL
您所说的NULL
是nul
字符'\0'
查看man execv
页面或其他exec进程..它实际上采用可变数量的参数
答案 2 :(得分:1)
execv采用char *
数组,而不是char
数组。
char *const parms[] = {"abc", "-a", "pqr", NULL};
答案 3 :(得分:-3)
如果您的数组是对象,则String,Char如果声明它将自动为空
例如
Oject [] myarray=new Object[10];
在数组的任何位置都为null