我是C的新手,我不知道如何处理这个数组:
char *args[MAX_LINE/2 + 1];
这条线到底意味着什么?它是指向字符数组的指针吗? 给出的赋值是用多个字符串标记填充此数组,但我不明白char指针如何存储整个字符串?
答案 0 :(得分:5)
char *args[MAX_LINE/2 + 1];
args
是指向大小为MAX_LINE / 2 + 1
的char的指针数组。每个元素是char*
,即每个元素可以是一个字符串。你必须初始化它们(即,将它们指向某个有效的位置。)例如,从stdin读取:
args[0] = malloc(some_size);
/* read a string from standard input */
fgets(args[0], some_size, stdin);
答案 1 :(得分:0)
这基本上是一个指针数组。每个指针指向一个包含 char 的位置。
请查看此处了解有关处理它的更多详细信息。 http://www.tutorialspoint.com/cprogramming/c_array_of_pointers.htm