两种结构声明之间的差异

问题描述 投票:2回答:3

对于此代码:

typedef struct book_s{
char name[50];
char author[50];
int price;
} book_t;

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

struct book_s first_book;
book_t second_book;

两个变量“ first_book”和“ second_book”是否相同?如果是,那么这两行是

first_book.name

second_book.name

要输出相同类型的字符串吗?

c structure typedef
3个回答
2
投票
别名。它们是相同的类型,可以互换使用。因此,结构

对象(结构实例)的类型也相同。

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

0
投票

0
投票
type但!它们不是相同的实例/对象。

例如:struct book_s first_book; // 将字符串设置为:first_book.name不会影响以下位置的字符串:second_book.name

调用:first_book.name将返回一个字符串,但与另一个对象“ second_book.name”不相同。

它们都返回相同的类型:字符串它们都有其他值。

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.