http://www.kuqin.com/language/20090406/44443.html
关键:
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;
===========================================
2其次:
在c++中如果用typedef的话,又会造成区别:
struct Student
{
int a;
}stu1;//stu1是一个变量
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型
使用时可以直接访问stu1.a
但是stu2则必须先 stu2 s2;
然后 s2.a=10;
分享到:
相关推荐
struct typedef struct 区别
无 TYPEDEF 的声明方式 首先常规结构体的定义,你肯定已经十分清楚: struct Person{ int age; string name; }; 这里Person是你声明的这个结构体的名字,即一种类型,如同int之类的。 如果你想声明几个Person的...
为什么要提出typedef的用法,因为相对于struct 结构体使用起来更方便。下面就是他们之间的对比: struct结构体 #include"stdio.h" struct Student { int sid; char name [100]; char sex; } int main(){ ...
c++笔记struct和typedef struct彻底明白了
主要介绍了C++中typedef 及其与struct的结合使用,需要的朋友可以参考下
本篇文章主要是对typedef struct与struct之间的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。下面就一起来看看
typedef struct StackNode { ElemType data //存放数据 struct StackNode * next //指向下一个结点 }StackNode typedef struct { StackNode * top // 栈顶指针 }LinkStack 实现下列操作: void ...
# 改变结构体成员的字节对齐 ## 例子 #include typedef struct { char a; int b; } ST_A;