彻底弄懂typedef struct和struct定义结构体的区别

彻底弄懂typedef struct和struct定义结构体的区别1、语法定义结构体有两种定义方式:typedefstruct结构名{ 类型变量名; 类型变量名;}结构别名1,结构别名2;结构名和结构别名都不能直接用,因为它们是结构体这种数据类型的名称,这种方式定义的结构体使用时,需要先声明结构变量。另一种定义方式为:struct结构名{ 类型变量名; 类型变量名;}结构变量;2、区别在C中定义…

彻底弄懂typedef

1、语法

定义结构体有两种定义方式:

typedef struct 结构名
{ 
   
	类型 变量名;
	类型 变量名;
} 结构别名1, 结构别名2;

结构名结构别名 都不能直接用,因为它们是结构体这种数据类型的名称,这种方式定义的结构体使用时,需要先声明 结构变量

另一种定义方式为:

struct 结构名
{ 
   
	类型 变量名;
	类型 变量名;
} 结构变量;

2、区别

  • 在 C 中定义一个结构体类型要用 typedef
typedef struct Person
{ 
   
	int a;
} Per; // Per 是别名

使用前,要先声明一下结构变量:Per per1
如果没有 typedef 上面的变量就要这样声明:struct Person per1

这里 Person 也可以省略:

typedef struct
{ 
   
	int a;
} Per;

那么声明结构变量就不能使用:struct Person per1 了。

  • 在 C++ 中
struct  Person
{ 
   
	int a;
} per1; // per1 是一个变量

typedef struct Person
{ 
   
	int a;
} per1; // per1 是一个别名

如果这样使用:

struct Person
{ 
   
	int a;
};

就要这样声明结构变量:Person per1

以上 ?

今天的文章彻底弄懂typedef struct和struct定义结构体的区别分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/30907.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注