9

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

4

4 回答 4

19

char*初始化所有NULLs的数组:

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 };
于 2012-11-08T16:32:34.303 回答
1

NULL只不过是:#define NULL (void*) 0 ULNULL所说的是nul性格'\0'

查看man execv页面或其他执行进程..它实际上需要可变数量的参数

于 2012-11-08T16:30:24.697 回答
1

execv 接受一个数组char *,而不是一个数组char

char *const parms[] = {"abc", "-a", "pqr", NULL};
于 2012-11-08T16:30:34.090 回答
-3

如果您的数组是 object,String,Char 如果您声明它将自动为 null

例如。

Oject [] myarray=new Object[10];

在数组的任何地方都为空

于 2012-11-08T16:47:53.130 回答