无法弄清楚C中的指针/数组/字符串

1 c arrays pointers

我是C的新手,我不知道如何处理这个数组:

char *args[MAX_LINE/2 + 1];
Run Code Online (Sandbox Code Playgroud)

这条线到底意味着什么?它是指向字符数组的指针吗?给出的赋值是用多个字符串标记填充这个数组,但是我不明白char指针如何存储整个字符串?

Ed *_* S. 5

char *args[MAX_LINE/2 + 1];
Run Code Online (Sandbox Code Playgroud)

args是一个指向char大小的指针数组MAX_LINE / 2 + 1.每个元素是a char*,即每个元素可以是字符串.你必须初始化它们(即,将它们指向某个有效的位置.)例如,要从stdin读取:

args[0] = malloc(some_size);
/* read a string from standard input */
fgets(args[0], some_size, stdin);
Run Code Online (Sandbox Code Playgroud)