欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

对C语言 结构体 和 结构变量

发布时间:2025/10/17 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 对C语言 结构体 和 结构变量 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、结构体/结构的引入

在学生的登录记录表中,姓名应该为字符型、学号可以为整形或字符型,年龄应该为整形,性别应该为字符型,成绩可以整形或实型。显然不能用一个数组来存放这一组数据,因为数组各元素的类型和元素都必须一致。

二、定义结构

为了定义结构,必须用struct语句。struct语句定义了一个包含多个成员的新的数据类型。

Struct 结构名 { 成员列表; }变量名列表;Struct stu { Int num; Char name[20]; Char sex; Float score; }boy1,boy2;

三、定义结构变量的三种方式

1.先定义结构,再说明结构变量 struct stu { int num; char name[20]; int age; }; struct stu boy1,boy2;例如: #define STU struct stu STU { int num; char name[20]; int age; }; STU boy1,boy2; 2.在定义结构类型的同时说明结构变量。 struct stu { int num; char name[20]; int age; }boy1,boy2; 3.直接说明结构变量 struct { int num; char name[20]; int age; }boy1,boy2; 

四、结构体嵌套

首先定义一个date,由month(月),day(日),year(年)三个成员组成。在定义并说明变量boy1和boy2时,其中的成员birthday被说明为date结构类型。成员名可以与其他的变量同名,互不干扰。

Struct date{Int month;Int day;Int year;};Struct {Int num;Char name[20];Char sex;Struct date birthday;Float score;}boy1,boy2;

Num

Name

Sex

Birthday

score

Month

Day

year

 五、结构变量

   5.1  结构变量成员的表示方法

在程序中使用结构变量时,往往不把他作为一个整体来使用。

在程序中具有相同类型的结构变量可以相互的赋值,一般结构变量的使用,包括赋值、输入、输出、运算等都是通过结构变量的成员来实现的。

结构变量成员的一般形式:

结构变量名.成员名   例如:boy1.num  即第一个人的学号。

**如果成员变量本身就是一个结构,那么需要逐级找到最低级的成员才能使用

例如:boy1.birthday.month 即第一个人出生的月份。

   5.2  结构变量的赋值

结构变量的赋值就是给各个成员赋值,可以用输入语句或者赋值语句来完成。

/*

本程序中用赋值语句给num和name两个成员赋值,name是一个字符串常量。用sacanf函数动态的输入sex和score成员值,然后就把boy1的所有的成员的值整体赋值于boy2。最后分别输出boy2的各个成员值,

本示例表示了结构变量的赋值,输入和输出状态。

*/

#include<stdio.h> #include<string.h> #include<stdlib.h> int main(int argc,char **argv) {struct stu {int num;char name[20];char sex[20];float score;}boy1,boy2;boy1.num = 102;strcpy(boy1.name,"shi wen jie");printf("please input sex and score:\n");scanf("%s %f",boy1.sex,&boy1.score);boy2 = boy1;printf("num\tname\t\tsex\tscore\n");printf("num=%d\tname=%s\tsex=%s\tscore=%f\n",boy2.num,boy2.name,boy2.sex,boy2.score);return 0; }

   5.3  结构变量的初始化

和其他类型的变量一样,对结构变量可以在定义时进行初始化赋值。

#include<stdio.h> int main(int argc,char **argv) {struct stu{int num;char *name;char sex[20]; //或者是char *sex;float score;}boy2,boy1 = {102,"shi wen jie","nan",65.7};boy2 = boy1;printf("num\tname\tsex\tscore\n");printf("num=%d\tname=%s\tsex=%s\tscore=%f\n",boy2.num,boy2.name,boy2.sex,boy2.score); }

总结

以上是生活随笔为你收集整理的对C语言 结构体 和 结构变量的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。