两种结构声明之间的差异

NVA*_*NVA 3 c typedef structure

对于此代码:

typedef struct book_s{
char name[50];
char author[50];
int price;
} book_t;
Run Code Online (Sandbox Code Playgroud)

我将声明此结构的2个变量:

struct book_s first_book;
book_t second_book;
Run Code Online (Sandbox Code Playgroud)

first_booksecond_book同类型的吗?如果是,这两行是

first_book.name

second_book.name
Run Code Online (Sandbox Code Playgroud)

将提供相同类型的字符串输出?

Som*_*ude 7

该类型名称book_t是一个别名struct book_s。它们是相同的类型,可以互换使用。因此,结构对象(结构实例)也具有相同的类型。

结构对象(实例)是不同且不同的,但是它们具有相同的类型。