C++的 typedef 与 结构类型重命名 指针
来源:互联网 发布:linux 查看cpu核数 编辑:程序博客网 时间:2024/05/16 12:46
问题:
typedef struct OLNode{
int i,j;
int e;
struct OLNode *right,*down;
}OLNode,*OLink;
这里的*OLink是什么意思?OLink a;这样定义的变量a算是什么,怎么回事?
解答:
定义完上面的Struct后,将这个定义命名为 OLNode,或者 *OLink,后者是一个指针。当你用这个定义a的时候,就是 OLink a,就是定义a为一个指向 stuct OLNode的指针。
明白了吧?这样写只是为了让写指针的时候少写个*而已。一般老程序员常常喜欢这么做。
这里typedef实现的是类型的重命名。
typedef:
struct OLNode{
int i,j;
int e;
struct OLNode *right,*down;
}OLNode,*OLink;
这一过程定义了一个OLNode结构体,并生成了一个OLNode对象 和 一个OLNode对象指针,
相当于如下过程:
struct OLNode{
int i,j;
int e;
struct OLNode *right,*down;
};
struct OLNode OLNode ;
struct OLNode *Link;
而使用了typedef后和上述过程基本没什么区别,只是把你自定的这种结构体数据类型进行了类型重命名,这样当你定义一个对象的时候可以使用:
OLNode a;这里a是一个对象!相当于 struct OLNode a;
而当你定义一个这种结构体对象指针时可以使用:
OLink a;这里a是一个对象指针,相当于 struct OLNode *a;
使用tepedef好处是编程少些几个字母,编程中使用struct OLNode OLNode ; struct OLNode *Link; 虽然多写几个字母,但是很明确的知道你定义的变量是一个结构体。各有利弊
- C++的 typedef 与 结构类型重命名 指针
- typedef 与结构体、结构体指针类型
- typedef重命名类型
- typedef关键字与结构体、结构体指针的定义
- struct结构类型与typedef
- C typedef的用法 结构体指针的用法
- 结构标签(struct tag)与类型定义(typedef)的区别
- C++------------typedef 函数指针类型定义
- (C++)用typedef定义函数指针类型
- typedef重命名的意义
- C语言结构体及typedef关键字定义结构体别名和函数指针的应用
- c笔记10---多文件操作,Makefile,结构体 struct 及结构体变量,重命名 typedef
- 浅谈c语言typedef 与结构体指针(个人小经验)
- C语言:typedef struct与指针
- C语言函数指针 与typedef别名
- 工作总结3-typedef中的函数类型与函数指针类型
- C语言中typedef 与结构体
- c中结构体指针的强制类型转换
- BDC 经典实例
- 多线程编程之二——MFC中的多线程开发
- m.***.com:PHP及Zend架构
- QT各种大小中文字体显示[qt3.3.8]
- 6.4用筛选法求素数
- C++的 typedef 与 结构类型重命名 指针
- 兔小杀
- 引用内存不能为read的问题
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
- 求好友啊
- tolower用法
- m.***.com:部署apache
- C# WebRequest WebClient Post请求 无乱码
- .NET_IOC_Ninject