Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在C中计算指针/数组/字符串_C_Arrays_Pointers - Fatal编程技术网

Can';t在C中计算指针/数组/字符串

Can';t在C中计算指针/数组/字符串,c,arrays,pointers,C,Arrays,Pointers,我是C新手,不知道如何处理此数组: char *args[MAX_LINE/2 + 1]; 这句话到底是什么意思?它是指向字符数组的指针吗? 分配给它的任务是用多个字符串标记填充这个数组,但我不明白一个字符指针如何存储整个字符串 char *args[MAX_LINE/2 + 1]; args是指向大小为MAX\u LINE/2+1的字符的指针数组。每个元素都是一个字符*,即每个元素都可以是一个字符串。但您必须初始化它们(即,将它们指向有效的位置)。例如,要从stdin读取: args[0]

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

char *args[MAX_LINE/2 + 1];
这句话到底是什么意思?它是指向字符数组的指针吗? 分配给它的任务是用多个字符串标记填充这个数组,但我不明白一个字符指针如何存储整个字符串

char *args[MAX_LINE/2 + 1];
args
是指向大小为
MAX\u LINE/2+1
的字符的指针数组。每个元素都是一个
字符*
,即每个元素都可以是一个字符串。但您必须初始化它们(即,将它们指向有效的位置)。例如,要从stdin读取:

args[0] = malloc(some_size);
/* read a string from standard input */
fgets(args[0], some_size, stdin);
args
是指向大小为
MAX\u LINE/2+1
的字符的指针数组。每个元素都是一个
字符*
,即每个元素都可以是一个字符串。但您必须初始化它们(即,将它们指向有效的位置)。例如,要从stdin读取:

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

这基本上是一个指针数组。每个指针都指向一个包含字符的位置


请查看此处以了解有关如何处理它的更多详细信息

这基本上是一个指针数组。每个指针都指向一个包含字符的位置


请查看此处以了解有关如何处理它的更多详细信息

它是一个字符数组,大小为MAX_LINE/2+1,例如
50/2+1
->
26
。它是一个字符指针数组。大小为
MAX\u-LINE/2+1
它是一个字符数组,大小为MAX\u-LINE/2+1,例如
50/2+1
->
26
。它是一个字符指针数组。大小为
MAX\u LINE/2+1
。。。可以用作字符串数组;我们必须查看输入的值。如何将字符串存储到此数组中?@user3373372:使用
malloc
分配每个元素,并将它们复制到中,将它们指向其他字符串,等等。但是,您可以在C中填充任何字符串。添加了example@Ed所以我尝试了args[0]=malloc(70);但是编译器说“内置函数-malloc-的不兼容隐式声明”。我遗漏了什么吗?@user3373372:
#include
。您需要包含所使用函数的声明。对于
fgets
,您需要
stdio.h
。都在文档中。。。。可以用作字符串数组;我们必须查看输入的值。如何将字符串存储到此数组中?@user3373372:使用
malloc
分配每个元素,并将它们复制到中,将它们指向其他字符串,等等。但是,您可以在C中填充任何字符串。添加了example@Ed所以我尝试了args[0]=malloc(70);但是编译器说“内置函数-malloc-的不兼容隐式声明”。我遗漏了什么吗?@user3373372:
#include
。您需要包含所使用函数的声明。对于
fgets
,您需要
stdio.h
。这些都在文档中。