结构体小结
来源:互联网 发布:linux jdk6安装教程 编辑:程序博客网 时间:2024/06/09 15:16
1.结构体的定义
对于结构体,他有一个神奇的关键字,struct,它将一些相关联的数据打包成一个整体,方便使用。在网络协议,通信控制,嵌入式系统,驱动开发等地方,我们经常要传送的不是简单的字节流,而是多种数据组合在一起的一个整体,其表现形式就是一个结构体。结构体的功能很强大,他可以将一个个零散的数据组合在一起,方便人们对它使用和编辑。通常将结构体的内容称之为结构体成员,在没有声明是私有的还是公有的,默认为公有的。
2.结构体的初始化
首先形如struct student 就是一个简单的学生结构体,这里的struct student就相当于数据类型,这里没有定义变量。如果想要定义变量,可以在大括号的后面加上变量名,比如
{
char name[3];
int age;
char sex[3];
};
struct student
{
char name[3];
int age;
char sex[3];
}stu;这里stu就是变量名,类型为struct student。在定义了变量之后,就要对它进行初始化了,结构体变量的初始化要用一对大括号括起来,在对每个内容进行初始化。比如
int main()
{
struct student stu = { { "zhangsan", 18," men" }, { "liyu", 19, "women" } };
}
3.typdef重定义结构体的意义
typedef用于类型的重定义,那么用typedef定义的结构体有什么不同呢?
(1)typedef实现匿名结构体,例如typedef struct
{
char name;
int age;
float score;
}student; 这就是将struct ()重新定义为student类型。但是为了防止混淆,这种匿名定义在一个程序中只能使用一次。
(2)再看如下例子 typedef struct student
{
char name;
int age;
float score;
}stu_st,*stu_pst; 这里struct student stu1;和stu_st stu1; 没有区别,我们把struct student{ //} 看做一个整体,typedef就是给struct student{ //}起了一个新的名字stu_st。
另外struct student *stu2;和stu_pst *stu2;没有区别,同样的,我们把“struct student{ //} *”看做一个整体,typedef就是给struct student{ //}*起了一个新的名字stu_pst。
这样看来,再用typedef重定义结构体类型名后可减少书写的繁琐,方便使用。
- 结构体小结2
- 结构体小结
- 结构体小结
- C 结构体小结
- 结构体小结
- socket发送结构体 小结
- 结构体字节对齐小结
- 结构体枚举的小结
- 枚举以及结构体小结
- C语言结构体小结
- task_struct结构体成员小结
- C++结构体计算小结
- 结构小结
- 结构体与共用体小结
- c/c++结构体对齐小结
- 指针与结构体知识小结
- C语言结构体对齐小结
- 关于C++中结构体初始化小结
- hybrid- Cordova环境安装配置
- 越南文显示规范
- oi模板库
- Bootstrap学习(第二节)
- 队列线性表的c语言实现方式 seqqueue.h 和 seqqueue.c
- 结构体小结
- 《剑指offer》包含min函数的栈
- wsdl详解
- OpenBSD Will Get Unique Kernels on Each Reboot. Do You Hear That Linux, Windows?
- POJ 1088 滑雪
- maven教程
- SCCB
- 原生js实现类似jq的trigger
- 链表线性表的c语言实现方式 seqlist.h 和 seqlist.c