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

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

94次阅读
没有评论

共计 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字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产日产欧产精品精品软件 | 香蕉在线精品视频在线观看2 | 日本二本三本二区 | 奇米影视7777久久精品 | 成人午夜视频一区二区国语 | 久草资源在线 | 色综合热无码热国产 | 五月六月伊人狠狠丁香网 | 日韩人妻无码精品专区 | 日日夜夜精品免费视频 | 日本二区| 亚洲日韩av无码中文字幕美国 | 日日摸狠狠的摸夜夜摸 | 中文毛片无遮挡播放免费 | 婷婷 夜夜| 久久精品中文字幕大胸 | 四虎精品成人免费观看 | 亚洲看片网站 | 国产成人无码午夜视频在线观看 | 热久久免费视频 | 亚洲午夜久久久精品影院视色 | 欧美成人精品高清在线观看 | 男男h黄漫画啪啪无遮挡 | 亚洲人jizz | 国产欧美精品aaaaaa片 | 日本一级特黄视频 | 日本在线网站 | 九九九视频 | 国产无遮挡吃胸膜奶免费看 | 欧美一级淫片免费观看 | 国产99视频精品免费视频免里 | 中国国产xxxx免费视频 | 亚洲草逼 | 我爱52avαv永久网站 | 日韩欧美亚洲综合久久影院ds | 中文字幕在线最新在线不卡 | 欧美日韩一区二区成人午夜电影 | 黄色动态网站 | 久9久9精品视频在线观看 | 久久性爱视频 | 亚洲精品综合 |