typedef struct引起的结构体问题
原来一直认为结构体定义只有struct开头的方法。今天看一本书突然看到typedef struct开头的结构体定义方式吧自己搞的一脸懵逼。既然如此那就看看吧!!
先来看看C语言中的结构体变量的三种方法:
1、先定义结构体类型,再定义变量
注:注意在C语言中定义结构体变量的时候是struct student打头的。
struct student{ int num;char name[20];char sex;int age;
};
struct student stu1,stu2;
2、结构体类型和结构体变量同时定义
struct student{ int num;char name[20];char sex;int age;
}stu1,stu2;
3、直接定义结构体类型变量(这个以前还真没留意)
struct
{ int num;char name[20];char sex;int age;
}stu1,stu2;
其实上面第一种方法我个人用的最多。
但是,每一次定义变量的时候都要写struct感觉怪怪的。C语言提供了一种简便些的方式——typedef。
typedef struct student{ int num;char name[20];char sex;int age;
}Stu;
Stu stu1,stu2;
也就是说:对C语言来说上述的使用typedef定义结构体的方式中Stu相当于struct student的一个别名。即Stu=struct student。
C++语言中的结构体变量:
在C++中一切都是最简捷的方式(果然是语言的进步呀!!):
struct student{ int num;char name[20];char sex;int age;
};
student stu1,stu2;
但是,如果我也加上typedef会怎么样呢?答案如下:
struct student{ int num;char name[20];char sex;int age;
}stu1; //stu1是一个结构体变量typedef struct student{ int num;char name[20];char sex;int age;
}stu2; //stu2是一个结构体类型=struct student
结论:在C++中定义结构体的时候不要整什么typedef。此处说明是为了避免以后看到这样的代码不知所措。
typedef struct引起的结构体问题相关推荐
- c语言用typedef定义结构体,C语言结构体定义 typedef struct
c语言规范,定义结构体: typedef struct ANSWER_HEADER { u8 u8Type; u8 u8Code; u32 u32TimeStamp; struct ANSWER_HE ...
- 【C语言】结构体定义 typedef struct 用法详解和用法小结
结构体定义 typedef struct 用法详解和用法小结 文章目录 结构体定义 typedef struct 用法详解和用法小结 0. 前言 1. 首先:在C中定义一个结构体类型要用typedef ...
- C/C++语法知识:typedef struct 用法详解
第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定 ...
- struct与typedef struct的区别
typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便. 具体区别在于: 若struct node {}这样来定义结构体的话.在申请node 的变量时,需要这样写,st ...
- typedef struct与struct的区别
第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定 ...
- 【C语言】typedef struct 和 struct 使用区别
目录 1. 什么是 typedef ? 1.1 typedef为C语言的关键字 1.2 在编程中使用typedef目的 1.3 typedef最简单的应用--为已知数据类型命名 1.3.1 type ...
- C语言结构体typedef struct详解
1.typedef关键字 C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字.下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BY ...
- 关于数据结构(c语言)中结构体声明的typedef struct LNode, *LinkList的思考
在数据结构的链表,表示中 typedef struct Node * PtrToNode 和 typerdef struct List的表示说明 typedef struct Node * PtrTo ...
- 结构体定义 typedef struct 用法详解和用法小结
typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便. 具体区别在于: 若struct node{ }这样来定义结构体的话.在定义 node 的结构体变量时,需要这 ...
- c语言结构体定义和使用typedef,结构体定义typedef struct 用法详解
typedef是类型定义的意思,typedef struct是为了使用这个结构体方便. 在了解typedef之前我们先来了解一下什么是结构体类型: C++提供了许多种基本的数据类型(如int.floa ...
最新文章
- 毕业三年,贷款40万创业之后我又做回了程序员
- android 检测摇一摇
- SCCM 2012系列2 服务器准备下
- 青岛工学院计算机专业分数线,青岛工学院分数线
- C# Wke使用例子 (KyozyWke)
- 服务器系统蓝牙驱动怎么安装,win7蓝牙驱动安装教程
- SECS Message解析说明
- Android播放器框架分析之AwesomePlayer
- 聚类算法效果衡量标准
- hdrp_HDRP:在2019.3版中无法预览
- JavaScript(Ajax)和Cookie的同源策略
- PHP 获取指定日期的周一
- 2012年MacBook更换SSD固态硬盘和16G内存条
- python中copy函数怎么用_python怎样copy对象
- DeepAR:Probabilistic forecasting with	autoregressive recurrent network
- 耳机不分主从是什么意思_【“沃”新品】TWS真无线蓝牙耳机 彰显品质生活!...
- oracle view占资源,关于VIEW PUSHED PREDICATE的一个优化案例
- VIA图像标注系统汉化版
- 网络信息安全攻防学习平台(基础关)
- 【软件测试与质量保证】期末复习1(HITWH)(质量保证部分)