[学习心得]谈谈我对typedef struct 与struct 的理解
2016-11-29 11:52
281 查看
一、引言
在接触数据结构这门课程之初,就对typedef struct命名的结构的例子有些模糊,于是查阅了资料才弄清楚了其中的根本区别。
二、区别
例如 定义一个结构体Student (C语言)
struct Student { int name; }student1;//c语言中写在结构体的后面 -------------------------------------------------- //否则就要这样来声明 /*struct Student { int name; }; struct Student student1*/ --------------------------------------------------- typedef struct Student { int name; }Stu; Stu student1; /*以上这三个代码效果相同同样定义了一个student1的变量*/
这样一来,我们在声明变量的时候就可以直接使用Stu student1;
而如果没用typedef的话我们声明这个变量就得使用struct Student student1;
即是 Stu=struct Student,Stu就成了struc Student的别名
struct Student//在C++中定义就可以直接这样定义 { int a; }; //于是就定义了结构体类型Student,声明变量时直接Student student1;
=====================================================================
再看在C++中的体现
同样定义一个结构体Student
struct Student { int name; }stu1;//这里的stu1是一个变量 typedef struct Student2 { int name; }stu2;//stu2是一个结构体类型相当于上面的struct Student stu2 Xiaoming;
使用时程序可以直接访问stu1.name
,然而stu2则必须先访问stu2 Xiaoming;
然后才可以访问Xiaoming.name;
;
从级别上来说 Xiaoming和stu1才是一个级别的,都属于变量
作为一个个新手,如果我有什么说的不对的地方希望可以给我指出来,谢谢!
相关文章推荐
- 学习心得 struct & typedef struct 的区别
- 给php新手谈谈我的学习心得
- typedef 的理解 typedef struct 结构体
- Object-C学习(五):结构体(struct)、typedef、以及与#define宏定义的区别
- 谈谈对计算机专业的层次化理解: 计算机专业如何入门(问题 引导 学习思路)
- typedef struct CMCI_t *CMCI;的理解
- 计算机科学与技术学习心得之谈谈学习态度的问题(转载)
- iOS开发——学习runtime的理解和心得
- 构造IOCTL命令的学习心得-----_IO, _IOR, _IOW, _IOWR 幻数的理解
- Stage3d 由浅到深理解AGAL的管线vertex shader和fragment shader || 简易教程 学习心得 AGAL 非常非常好的入门文章
- iOS:学习runtime的理解和心得
- C++学习心得(数组,vector容器,typedef,volatile)
- 今天考了关于java认证的OCJP,特此谈谈个人java学习过程及心得
- 学习笔记----最大流的学习心得与自我理解
- 谈谈这几天学习seo的心得
- 给php新手谈谈我的学习心得
- typedef 的理解 typedef struct 结构体
- struct结构体的初始化及typedef的理解总结
- 关于 typedef & typedef struct & typedef union理解 --写给不长脑子的我
- iOS:学习runtime的理解和心得