迪士尼彩乐园 下载 【蓝因子证明】c讲话结构体的界说和使用

迪士尼彩乐园
迪士尼彩乐园登陆网址
迪士尼彩乐园
迪士尼彩乐园 下载 【蓝因子证明】c讲话结构体的界说和使用
发布日期:2024-04-13 19:23    点击次数:116

一、什么是结构体

在实质问题中,一组数据常常具有不同的数据类型;举例在学生信息登记表中,姓名为字符型,学号为整型或字符型,年岁为整型,性别为字符型,得益为整型或实型。因为数据类型不同,彰着弗成用一个数组来存放。

在C讲话中,不错使用结构体(Struct)来存放一组不同类型的数据。结构体(struct)指的是一种数据结构,是C讲话中团聚数据类型(aggregate datatype)的一类。结构体不错被声明为变量、指针或数组等,用以完毕较复杂的数据结构。结构体同期亦然一些元素的纠合,这些元素称为结构体的成员(member),且这些成员不错为不同的类型,成员一般用名字造访。

界说结构体的一般表情为:

struct 结构体名{

成员列表

伸开剩余84%

};

在成员表列中不错是几种基本数据类型,也不错是结构体类型。

struct 类型名{} 迪士尼彩乐园 下载变量;后的分号弗成漏

举例用结构体来暗示学生信息:

struct stu{

char *name; //姓名

int num; //学号

char sex; //性别

float score; //得益

};

二、结构体变量

结构体亦然一种数据类型,不错用来证实变量。举例:

struct stu stu1, stu2;

界说了两个变量 stu1 和 stu2,它们齐是 stu 类型,齐由 4 个成员构成。老成要害字struct弗成少。

结构体的各个成员在内存中是贯串存储的。stu1、stu2 的内存如下图所示:

也不错在界说结构体的同期界说结构体变量:

struct stu{

char *name; //姓名

int num; //学号

char sex; //性别

float score; //得益

} stu1, stu2;

淌若只需要 stu1、stu2 两个变量,也不错不写结构体名字:

struct{ //莫得写 stu

char *name; //姓名

int num; //学号

char sex; //性别

float score; //得益

} stu1, stu2;

这么作念书写浅陋,然而因为莫得结构体名,迪士尼彩乐园能提现么背面就没法用该结构体界说新的变量。

也不错用宏界说使一个象征常量来暗示一个结构类型,举例:

#define STU struct stu

STU{

char *name; //姓名

int num; //学号

char sex; //性别

float score; //得益

};

STU stu1, stu2;

面咱们会学习Windows编程,大部分结构体齐是这么界说的。

typedef和#define用法不同,致使不错衔尾起来无邪使用,使用时一定要老成两者的不同之处。

三、成员的赢得和赋值

在C讲话中,使用点号.来赢得结构体中的一个成员,一般要害为:

2024年12月30日至2025年1月2日

当我看到书籍封面时,我就知道这是一部关于很多人的故事的书,地方虽小,但故事却很大,它在不断地影响着我们的一切,当然包括灵魂,如果你是背包客或者是一个自驾游旅行者,应该体会感会更深。

结构变量名.成员名

如:

stu1.name; //第一个学生的姓名

stu2.score; //第二个学生的得益

赢得成员后,就不错对该成员进行赋值了,举例:

stu1.name = “Tom”;

stu2.score = 90.5;

除了不错对成员进行逐个赋值,也不错像数组雷同全体赋值,举例:

struct stu{

char *name; //姓名

int num; //学号

char sex; //性别

float score; //得益

} stu1, stu2 = { "Tom", 10, 'M', 90 };

不外全体赋值仅限于上头这么的情况,也便是界说结构体的同期声明变量。底下的写法是诞妄的:

stu2 = { "Tom", 10, 'M', 90 };

一个竣工的示例:

#include <stdio.h>

#define STU struct stu

int main(){

STU{

char *name; //姓名

int num; //学号

char sex; //性别

float score; //得益

};

STU stu1;

stu1.name = "James Bond";

stu1.num = 1;

stu1.sex = 'M'; //用M暗示男性,W暗示女性

stu1.score = 99;

printf("Hello everyone! My name is %s, a naughty boy, but with good scores(%.2f) and top No.(%d)!", stu1.name, stu1.score, stu1.num);

return 0;

}

发布于:四川省