将数组元素初始化为NULL

时间:2012-11-08 16:26:26

标签: c arrays null

如何将数组元素初始化为NULL。例如,如果我有 char * array [10]; 我希望最后一个元素为NULL,以便我可以将此数组传递给execv

4 个答案:

答案 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 您所说的NULLnul字符'\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