博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
彻底弄懂typedef struct和struct定义结构体的区别
阅读量:3899 次
发布时间:2019-05-23

本文共 595 字,大约阅读时间需要 1 分钟。

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

以上 ?

转载地址:http://stden.baihongyu.com/

你可能感兴趣的文章
SICP学习笔记 1.3.4 过程作为返回值
查看>>
SICP学习笔记 2.1.1 实例: 有理数的算术运算
查看>>
SICP学习笔记 2.1.2 抽象屏障
查看>>
SICP学习笔记 2.1.3 数据意味着什么
查看>>
SICP学习笔记 2.1.4 扩展练习:区间算术
查看>>
SICP学习笔记 2.2.1 序列的表示
查看>>
甲方乙方 (1997)
查看>>
数学之美
查看>>
SICP学习笔记 2.2.2 层次性结构
查看>>
You raise me up
查看>>
SICP学习笔记 2.2.3 序列作为一种约定的接口
查看>>
SICP学习笔记 2.2.4 实例:一个图形语言
查看>>
SICP学习笔记 2.3.1 引号
查看>>
SICP学习笔记 2.3.2 实例:符号求导
查看>>
浪潮之巅
查看>>
少年派的奇幻漂流 Life of Pi (2012)
查看>>
我的2012年
查看>>
博客已搬迁至Github
查看>>
在 Mac OS X 下打造赏心悦目的开发环境
查看>>
有hive、BI相关经验的请关注
查看>>