C中的struct定义与C++中的struct区别

时间:2023-01-29 19:49:57

在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关键字。