首页 > 编程知识 正文

C语言结构体变量定义及应用,c语言结构体定义字符串

时间:2023-05-05 10:28:46 阅读:148427 作者:808

一、什么是结构在实际问题中,一组数据往往具有不同的数据类型; 例如,在学生信息登记表中,姓名是字符型,学校号码是整数型或字符型,年龄是整数型,性别是字符型,成绩是整数型或实型。 因为数据类型不同,所以很明显不能用数组保管。

在c语言中,可以使用结构(Struct )来存储各种类型的数据。 结构体(struct )是指数据结构,是c语言中集成数据类型(aggregate datatype )的一种。 结构可以声明为变量、指针、数组等,以实现更复杂的数据结构。 结构也是称为结构成员(member )的元素的集合。 这些成员可以是不同的类型,成员通常按名称访问。

定义结构的常见格式为:结构名称{成员列表}; 成员表列可以是几种基本数据类型或结构类型。

结构类型名称{}变量; 后面的分号不能泄露

例如,用结构体表示学生信息: struct stu{ char *name; //名称int num; //学号char sex; //性别浮点评分; //成绩}; 二、结构变量结构也是一种数据类型,可以解释变量。 例如:

struct stu stu1、stu2; 定义了两个变量stu1和stu2。 它们都是stu类型,都由四个成员组成。 请注意,关键字struct是必不可少的。

结构的各成员连续存储在存储器中。 stu1、stu2的内存如下图所示。

也可以在定义结构的同时定义结构变量。

struct stu{ char *name; //名称int num; //学号char sex; //性别浮点评分; //成绩} stu1,stu2; 如果只需要stu1、stu2这两个变量,则可以不写结构体名称。

未写struct//stuchar*name; //名称int num; //学号char sex; //性别浮点评分; //成绩} stu1,stu2; 这样写很简单,但是因为没有结构名称,所以以后不能在该结构上定义新变量。

也可以使用宏定义用如下符号常数表示结构类型:

# definestustructstustu { char * name; //名称int num; //学号char sex; //性别浮点评分; //成绩}; STU stu1、stu2; 之后学习Windows编程。 大多数结构体都是这样定义的。

typedef和#define的使用方法不同,也可以组合使用。 使用时请注意两者的区别。

三、成员获取和赋值为C语言,使用点号.获取结构中的成员。 一般形式如下。

结构变量名称.成员名称示例:

stu1.name; //第一个学生的名字stu2.score; //第二个学生的成绩获得成员后,可以为该成员赋值。 例如:

stu1.name=“Tom”;

stu2.score=90.5;

除了为每个成员分配一个值外,还可以像数组一样整体分配值。 例如:

struct stu{ char *name; //名称int num; //学号char sex; //性别浮点评分; //成绩} stu1,stu2={ 'Tom ',10,' m ',90 }; 但是,整体代入仅限于上述情况,也就是说在定义结构体的同时宣言变量的情况。 以下格式是错误的:

stu2={ 'Tom ',10,' m ',90 }; 完整示例:

# include stdio.h # definestustructstuintmain () { STU{ char *name; //名称int num; //学号char sex; //性别浮点评分; //成绩}; STU stu1; stu1.name='James Bond '; stu1.num=1; stu1.sex='M '; //m为男性,w为女性stu1.score=99; 打印(hello every one )! My name is %s,a naughty boy,butwithgoodscores(%.2f ) andtopno.) %d )! '、stu1.name、stu1.score、stu1.num; 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。