在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

C语言中结构体的类型及用法

110次阅读
没有评论

共计 1917 个字符,预计需要花费 5 分钟才能阅读完成。

在 C 语言中,结构体是一种用户自定义数据类型,它可以存储不同类型的数据并且允许程序员在一个单独的变量内组合它们。本文将详细介绍 C 语言中结构体的类型及用法。

什么是结构体

结构体是 C 语言中的一种复合数据类型,可以定义由不同数据类型组成的数据集合。结构体由多个成员组成,每个成员可以是不同类型的数据,比如整型、字符型、浮点型等。结构体的定义方式如下:

“`

struct structName {

dataType1 memberName1;

dataType2 memberName2;

dataTypeN memberNameN;

};

其中 structName 为结构体名,memberName 为成员名,dataType 为成员的数据类型。我们可以定义一个包含学生姓名、年龄和分数的结构体:

struct Student {

char name[20];

int age;

float score;

结构体的使用

定义结构体之后,我们就可以使用它来声明变量,例如:

struct Student stu1;

这样就创建了一个名为 stu1 的结构体变量。我们可以通过点操作符访问结构体中的成员,例如:

strcpy(stu1.name, “Tom”);

stu1.age = 18;

stu1.score = 90.5;

这样就为结构体变量 stu1 的成员赋值了。我们也可以用另一个结构体变量来初始化一个结构体:

struct Student stu2 = {“Alice”, 17, 95.0};

这样就初始化了一个名为 stu2 的结构体变量。我们也可以使用指针来访问结构体的成员:

struct Student *p = &stu1;

strcpy(p->name, “Bob”);

p->age = 19;

p->score = 88.0;

这里的 p 是一个指向结构体的指针,用“->”操作符来访问结构体的成员。

结构体数组

除了单个结构体变量外,我们还可以定义结构体数组来存储多个结构体变量,例如:

struct Student stuArr[3] = {

{“Tom”, 18, 90.5},

{“Alice”, 17, 95.0},

{“Bob”, 19, 88.0}

这样就创建了一个包含 3 个学生信息的结构体数组。我们可以通过下标来访问每个结构体变量的成员,例如:

printf(“%s %d %.1f\n”, stuArr[0].name, stuArr[0].age, stuArr[0].score);

这样就可以输出第一个学生的信息。

结构体指针

结构体指针是指向结构体的指针,与普通指针类似,可以通过指针来访问结构体的成员。例如:

struct Student *pStu = &stu1;

printf(“%s %d %.1f\n”, pStu->name, pStu->age, pStu->score);

这样就可以输出 stu1 的信息。

结构体作为函数参数

结构体可以作为函数的参数进行传递,这样可以方便地传递多个变量。我们可以定义一个打印学生信息的函数:

void printStu(struct Student stu) {

printf(“%s %d %.1f\n”, stu.name, stu.age, stu.score);

}

然后可以通过下面的方式来调用该函数:

printStu(stu1);

这样就会输出 stu1 的信息。

结构体嵌套

结构体可以嵌套定义,也就是在一个结构体中包含另一个结构体作为成员,例如:

struct Course {

float credit;

struct Score {

struct Student stu;

struct Course course;

这里定义了一个 Score 的结构体,其中包含了 Student 和 Course 两个结构体作为成员,以及一个分数 score。我们可以通过点操作符访问嵌套的结构体成员,例如:

struct Score sc = {stu1, {“C Programming”, 2.0}, 90.5};

printf(“%s %s %.1f\n”, sc.stu.name, sc.course.name, sc.score);

这样就可以输出 sc 的信息。

结构体的大小

结构体的大小是由其成员的大小决定的,每个成员的地址都是按照其在结构体中的定义顺序依次排列的,并且每个成员的地址都是按照其对齐方式对齐的。结构体的大小可以通过 sizeof 运算符来获取,例如:

printf(“%d\n”, sizeof(struct Student));

这样就可以输出 Student 结构体的大小。

本文介绍了 C 语言中结构体的类型及用法,包括结构体的定义、结构体的使用、结构体数组、结构体指针、结构体作为函数参数、结构体嵌套、结构体的大小等方面。结构体是 C 语言中非常常用的数据类型之一,掌握其用法对于编写高效的程序非常重要。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-22发表,共计1917字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久国产精品一区二区 | 久久久久亚洲av无码专区体验 | 91久久精品日日躁夜夜躁欧美 | 久久视频精品线视频在线网站 | 福利视频午夜 | 欧美一区二区三区四区五区六区 | 久草在线在线 | 一区三区三区不卡 | 国产精品十八禁在线观看 | 日韩精品一区二区三区在线观看l | 国产成人激情 | 亚洲最新中文字幕成人 | 欧美综合一区 | 久久这里有精品视频 | 国产乱码一区二区三区爽爽爽 | 日韩欧美亚洲国产一区二区三区 | a级毛片内射免费视频 | 国产精品美女乱子伦高 | 中国老熟妇自拍hd发布 | 日韩色欲人妻无码精品av | 免费 欧美 自拍 在线观看 | 在线观看 亚洲 | 色欲aⅴ亚洲情无码av | 91在线亚洲 | 欧美亚洲第一区 | 第四色亚洲 | 天天狠狠色综合图片区 | 国产人成免费视频 | 妖精色av无码国产在线看 | 最新亚洲人成网站在线观看 | 国产成人精品视频一区二区不卡 | 日韩毛片欧美一级a | 消息称老熟妇乱视频一区二区 | 国产在线高清一级毛片 | 青青草国产免费国产是公开 | 久久久久久久久免费影院 | 天天撸视频 | 一区二区三区在线观看免费 | 99久久精品国产片 | 午夜一区二区国产好的精华液 | 日本一区欧美 |