9

配列の要素を NULL に初期化する方法。たとえば、char *array[10]; があるとします。この配列をexecvに渡すことができるように、最後の要素をNULLにしたい

4

4 に答える 4

19

の配列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 };
于 2012-11-08T16:32:34.303 に答える
1

NULLis nothing but :あなたが話している#define NULL (void*) 0 UL のは文字であり、NULLnul'\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];

配列の任意の場所がnullです

于 2012-11-08T16:47:53.130 に答える