C++ typedef 以及 typedef struct 用法

C++ typedef 以及 typedef struct 用法C++typedef以及typedefstruct用法1概述2typedef作用及用法3区别#define4typedefstruct在c/c++中的区别4.1区别一4.2区别二5参考资料1概述typedef为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。typedef本身是一种存储类的关键字,与auto、extern、static、register等关键字不能出现在同一个表

C++ typedef 以及 typedef struct 用法

1 概述

typedef 为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。

typedef 本身是一种存储类的关键字,与 auto、extern、static、register 等关键字不能出现在同一个表达式中。

2 typedef作用及用法

使用 typedef 定义新类型的方法(步骤):在传统的变量声明表达式里,用(新的)类型名替换变量名,然后把关键字 typedef 加在该语句的开头就可以了.
示例1:

【第一步】:int a; ———— 传统变量声明表达式
【第二步】:int myint_t; ———— 使用新的类型名myint_t替换变量名a
【第三步】:typedef int myint_t; ———— 在语句开头加上typedef关键字,myint_t就是我们定义的新类型.

3 区别 #define

#define 进行简单的进行字符串替换。
typedef 是进行为一个类型起新名字。

4 typedef struct在c/c++中的区别

4.1区别一

在C中定义一个结构体类型要用typedef:
typedef struct Student
{

int a;
}Stu;
于是在声明变量的时候就可:Stu stu1;
如果没有typedef就必须用struct Student stu1;来声明
这里的Stu实际上就是struct Student的别名。
另外这里也可以不写Student(于是也不能struct Student stu1;了)
typedef struct
{

int a;
}Stu;
但在c++里很简单,直接
struct Student
{

int a;
};

于是就定义了结构体类型Student,声明变量时直接Student stu2;

4.2区别二

简而言之:
不用typedef 定义结构体,后跟的是结构体变量(类的对象)。
用typedef定义结构体,后跟的是结构体的别名(相当于类的另一个名字)。

在c++中如果用typedef的话,又会造成区别:
struct Student
{

int a;
}stu1;//stu1是一个变量
typedef struct Student2
{

int a;
}stu2;//stu2是一个结构体类型
使用时可以直接访问stu1.a
但是stu2则必须先 stu2 s2;
然后 s2.a=10;

5 参考资料

https://blog.csdn.net/liitdar/article/details/80069638
https://blog.csdn.net/u011857683/article/details/79802370

今天的文章C++ typedef 以及 typedef struct 用法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

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

(0)
编程小号编程小号

相关推荐

发表回复

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