C 分配给类型‘时不兼容的类型;字符*[80]’;从类型&x2018;字符**’;错误
当我编译下面一行时,它从类型“char**”中得到“分配给类型“char*[80]”时不兼容的类型”错误。“nw”和“source”都是句子(来自句子结构类型)。 这个问题与其他问题不同,因为它处理的是二维数组,其他地方没有讨论过C 分配给类型‘时不兼容的类型;字符*[80]’;从类型&x2018;字符**’;错误,c,linux,compiler-errors,C,Linux,Compiler Errors,当我编译下面一行时,它从类型“char**”中得到“分配给类型“char*[80]”时不兼容的类型”错误。“nw”和“source”都是句子(来自句子结构类型)。 这个问题与其他问题不同,因为它处理的是二维数组,其他地方没有讨论过 nw.sentence = source->sentence; 句子结构类型为: typedef struct { char *sentence[MAX_LINE_LENGTH]; } sentence; 谢谢。假设你有申报单 int *x; c
nw.sentence = source->sentence;
句子结构类型为:
typedef struct {
char *sentence[MAX_LINE_LENGTH];
} sentence;
谢谢。假设你有申报单
int *x;
char *sentence[MAX_LINE_LENGTH];
char ** sentence;
这意味着x
具有类型int*
,换句话说,是指向int的指针。在相同的逻辑中,声明
int *x;
char *sentence[MAX_LINE_LENGTH];
char ** sentence;
这意味着句子[MAX\u LINE\u LENGTH]
(是MAX\u LINE\u LENGTH
元素的数组)的每个元素都具有类型字符*
,换句话说,是指向字符串的指针
总之,char*句[MAX\u LINE\u LENGTH]
的每个元素都指向一个字符串。这与宣言不同
int *x;
char *sentence[MAX_LINE_LENGTH];
char ** sentence;
因为最后一个是指向字符串指针的指针 假设您有声明
int *x;
char *sentence[MAX_LINE_LENGTH];
char ** sentence;
这意味着x
具有类型int*
,换句话说,是指向int的指针。在相同的逻辑中,声明
int *x;
char *sentence[MAX_LINE_LENGTH];
char ** sentence;
这意味着句子[MAX\u LINE\u LENGTH]
(是MAX\u LINE\u LENGTH
元素的数组)的每个元素都具有类型字符*
,换句话说,是指向字符串的指针
总之,char*句[MAX\u LINE\u LENGTH]
的每个元素都指向一个字符串。这与宣言不同
int *x;
char *sentence[MAX_LINE_LENGTH];
char ** sentence;
因为最后一个是指向字符串指针的指针