首页 技术 正文
技术 2022年11月20日
0 收藏 572 点赞 4,576 浏览 7311 个字

struct是一种数据结构,当需要存储的相关数据为一个集合时,struct是很好的选择;例如,当存储student,学生的学号, 名字,年龄,身高,就构成了一个集合,用stuct声名为:

typedef struct chemical_student_for_uni{
char name[32];
int card_id;
int age;
int height;
}student_c;

struct指名了这个是chemical_student_for_uni结构,typedef为这个结构起了一个别名student_c, 那么就可以使用student_c来代替struct chemical_student_for_uni的结构;

顺便提一下typedef的用法:

1. 隐藏数据的类型,例如给类型取别名;

2. 简化类型定义,同时便于理解;

struct的存储:struct的成员是按照声名的顺序进行存储的,假设student_c存储在内存中的地址为100, 以上student在内存中的存储形式如下:

aaarticlea/png;base64,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” alt=”” />

struct结构嵌套:

struct 结构标记{
类型 成员名;
类型 成员名;
struct 结构标记{
类型 成员名;
类型 成员名;
...
}结构变量名;
}结构变量名;

无结构标记的结构变量:

struct{
类型 成员名;
类型 成员名;
...
}结构变量名;

以下为结构的例子:

(1)当无结构标记的结构变量声明,例如student_1的声明:

struct {/*无结构标记*/
char name[];
int card_id;
int age;
int height;
}student_1;

(2)有结构标记的结构变量声明:

结构定义:

struct student{
char name[];
int card_id;
int age;
int height;
};

结构变量声明:struct student student_1;

(3)有结构标记的结构变量student_1的声明:

struct student{
char name[];
int card_id;
int age;
int height;
}student_1;

(4)带有typedef的无结构标记的声明:

定义别名:

typedef struct {
char name[];
int card_id;
int age;
int height;
}student_c;

定义结构变量名:student_c student_1;

(5)带有typedef的有结构标记的声明:

定义别名:

typedef struct student{
char name[32];
int card_id;
int age;
int height;
}student_c;

当定义时,可以直接使用别名:student_c student_1;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,487
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,486
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,126
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289