谎言下的婚姻 丁芸:typedef struct !
来源:百度文库 编辑:偶看新闻 时间:2024/05/05 00:44:19
之前对这个东西一直有点含糊不清,很烦...终于彻底搞懂了:https://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c。这是一个老的C语言的遗留问题
typedef struct 的用法是在C语言中!若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;(不用typedef的话必须这样定义变量)
若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;
这是C语言的语法规定。即是说 NODE是struct node的一个别名,代表这个类型。同理,“typedef struct node{} *pNODE;”中pNODE是struct node*的一个别名,表示指向结构体node类型的指针类型,“pNODE pnode;”当然在定义的时候可以省去node,typedef struct {} NODE。 在C++中完全没有这么复杂!C++中结构体是完全看做类的(用类的方法来使用)。例如:struct node {}; 定义对象时:node n; 定义指向node的指针时:node* pnode; 在C++中如果使用上述C的语法(基本不用这些)会有所不同:
struct Student
{
int a;
}stu1;//stu1是一个变量
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型
使用时可以直接访问stu1.a
但是stu2则必须先 stu2 s2;
typedef struct 的用法是在C语言中!若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;(不用typedef的话必须这样定义变量)
若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;
这是C语言的语法规定。即是说 NODE是struct node的一个别名,代表这个类型。同理,“typedef struct node{} *pNODE;”中pNODE是struct node*的一个别名,表示指向结构体node类型的指针类型,“pNODE pnode;”当然在定义的时候可以省去node,typedef struct {} NODE。 在C++中完全没有这么复杂!C++中结构体是完全看做类的(用类的方法来使用)。例如:struct node {}; 定义对象时:node n; 定义指向node的指针时:node* pnode; 在C++中如果使用上述C的语法(基本不用这些)会有所不同:
struct Student
{
int a;
}stu1;//stu1是一个变量
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型
使用时可以直接访问stu1.a
但是stu2则必须先 stu2 s2;
typedef struct{int arcs[2][2];}Graph;怎么在程序里给arcs[2][2]赋值呀?
什么是struct
struct 下载
struct 问题?
typedef 用法疑问
typedef union student是什么意思?
关于struct的疑问?
什么是struct开发架构
请教struct 定义的问题
使用Struct出现错误是什么原因?
c语言struct HAR是什么意思?
c++ struct结构的问题
C语言中的typedef是什么意思啊
typedef strust 是干什么用的?
typedef CList<SOCKET,SOCKET&>SOCKET_ARRAY
c语言中关于typedef的使用
typedef TMPL_FDATA * volatile TMPL_FDATA_PTR 什么意思呀?
Struct、JDO、FSP、HTML(S),Tomcat
#define LEN sizeof(struct shu) 是什么意思
c语言中的struct什么意思啊?
struct __POSITION { };没有成员有什么用
问一个关于typedef的问题(语言)
数据结构中typedef,ElemType各有什么含义?
请问vc ++中define和typedef区别是什么?