C中的struct定义与C++中的struct区别
在C语言中,我们经常可以看到类似以下的定义:
typedef struct String{
struct String *next;
char *str;
}String, *StringList;
在CPP中,只需要写成:
typedef struct String{
String *next;
char *str;
}*StringList;
这是因为在C语言中, struct数据类型必须得 struct {} 一起才能够用,为了简便,可以给其取一个名字, struct String{}, 但是还是需要 struct String这样才能用,因此又使用typedef struct String{} String; 这样接下来的String 就相当于 struct String了.
而在CPP中则不需要一直都带着struct关键字。