c语言学习--结构体的定义和使用
2018-03-01 13:22
429 查看
一、机构体的定义
1、结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。
二、定义一个结构的一般形式//
struct 结构名
{
成员表列
};
//
三、结构类型变量的说明方法
1、方法一:先定义结构,再说明结构变量//
struct stu
{
int num;
char name[20];
char sex;
float score;
};
struct stu boy1,boy2;
//也可以用宏定义使一个符号常量来表示一个结构类型//
#define STU struct stu
STU
{
int num;
char name[20];
char sex;
float score;
};
STU boy1,boy2;
//2、方法二:在定义结构类型的同时说明结构变量//
struct stu
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
//即形式如下//
struct 结构名
{
成员表列
}变量名表列;
//3、方法三:直接说明结构变量//
struct
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
//即形式如下
//
struct
{
成员表列
}变量名表列;
//
四、结构类型变量的嵌套//
struct date
{
int month;
int day;
int year;
};
struct{
int num;
char name[20];
char sex;
struct date birthday;
float score;
}boy1,boy2;
//
![](https://img-blog.csdn.net/20180301214656761)
五、结构体变量的表示方法
1、表示结构变量成员的一般形式是://
结构变量名.成员名
eg:
boy1.num 即第一个人的学号
boy2.sex 即第二个人的性别
//如果成员本身又是一个结构则必须逐级找到最低级的成员才能使用。
六、结构体变量的赋值//
main()
{
struct stu
{
int num;
char *name;
char sex;
float score;
} boy1,boy2;
boy1.num=102;
boy1.name="Zhang ping";
printf("input sex and score\n");
scanf("%c %f",&boy1.sex,&boy1.score);
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
//
七、结构体变量的初始化//
main()
{
struct stu /*定义结构*/
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
//
八、结构数组的定义//
struct stu
{
int num;
char *name;
char sex;
float score;
}boy[5];
//定义了一个结构数组 boy,共有 5 个元素,boy[0]~boy[4]。每个数组元素都具有 struct stu 的结构形式。对结构数组可以作初始化赋值。
致谢
1、C语言结构体定义的几种方法
2、结构体(百度百科)
3、C程序设计(第四版)[谭浩强]
1、结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。
二、定义一个结构的一般形式//
struct 结构名
{
成员表列
};
//
// struct stu { int num; char name[20]; char sex; float score; }; //
三、结构类型变量的说明方法
1、方法一:先定义结构,再说明结构变量//
struct stu
{
int num;
char name[20];
char sex;
float score;
};
struct stu boy1,boy2;
//也可以用宏定义使一个符号常量来表示一个结构类型//
#define STU struct stu
STU
{
int num;
char name[20];
char sex;
float score;
};
STU boy1,boy2;
//2、方法二:在定义结构类型的同时说明结构变量//
struct stu
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
//即形式如下//
struct 结构名
{
成员表列
}变量名表列;
//3、方法三:直接说明结构变量//
struct
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
//即形式如下
//
struct
{
成员表列
}变量名表列;
//
四、结构类型变量的嵌套//
struct date
{
int month;
int day;
int year;
};
struct{
int num;
char name[20];
char sex;
struct date birthday;
float score;
}boy1,boy2;
//
五、结构体变量的表示方法
1、表示结构变量成员的一般形式是://
结构变量名.成员名
eg:
boy1.num 即第一个人的学号
boy2.sex 即第二个人的性别
//如果成员本身又是一个结构则必须逐级找到最低级的成员才能使用。
// eg: boy1.birthday.month 即第一个人出生的月份成员可以在程序中单独使用,与普通变量完全相同。 //
六、结构体变量的赋值//
main()
{
struct stu
{
int num;
char *name;
char sex;
float score;
} boy1,boy2;
boy1.num=102;
boy1.name="Zhang ping";
printf("input sex and score\n");
scanf("%c %f",&boy1.sex,&boy1.score);
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
//
七、结构体变量的初始化//
main()
{
struct stu /*定义结构*/
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
//
八、结构数组的定义//
struct stu
{
int num;
char *name;
char sex;
float score;
}boy[5];
//定义了一个结构数组 boy,共有 5 个元素,boy[0]~boy[4]。每个数组元素都具有 struct stu 的结构形式。对结构数组可以作初始化赋值。
// struct stu { int num; char *name; char sex; float score; }boy[5]={ {101,"Li ping","M",45}, {102,"Zhang ping","M",62.5}, {103,"He fang","F",92.5}, {104,"Cheng ling","F",87}, {105,"Wang ming","M",58}; } //当对全部元素作初始化赋值时,也可不给出数组长度。
// 计算学生的平均成绩和不及格的人数 struct stu { int num; char *name; char sex; float score; }boy[5]={ {101,"Li ping",'M',45}, {102,"Zhang ping",'M',62.5}, {103,"He fang",'F',92.5}, {104,"Cheng ling",'F',87}, {105,"Wang ming",'M',58}, }; main() { int i,c=0; float ave,s=0; for(i=0;i<5;i++) { s+=boy[i].score; if(boy[i].score<60) c+=1; } printf("s=%f\n",s); ave=s/5; printf("average=%f\ncount=%d\n",ave,c); } //
致谢
1、C语言结构体定义的几种方法
2、结构体(百度百科)
3、C程序设计(第四版)[谭浩强]
相关文章推荐
- 学习笔记---C语言中全局变量,变量,常量的定义与使用
- c语言数据类型定义和总结构体的使用
- C语言优化学习——结构体定义优化
- C语言结构体定义函数指针的简单高效的使用例子
- C语言 结构体成员定义及使用问题
- 标准C++编程学习第一天之C++命名空间&结构体的定义和使用
- C语言结构体的定义以及使用
- C语言学习10:结构体,结构体应用,联合用法,枚举,fopen函数使用,fseek,ftell的作用和文件结束符EOF,数组和文件交换数据,个人信息管理。
- c语言 结构体 、数组的使用,定义的同时必须初始化,否者它们成员的数值会错乱,不是想象的样子
- C语言学习-struct结构体定义你自己的数据类型
- C语言结构体的定义和使用
- C语言之结构体和共同体——结构体的定义和使用
- DELPHI结构体的定义和使用
- OCX 结构体数组属性的定义和使用
- 结构体与共用体03 - 零基础入门学习C语言55
- 结构体与共用体02 - 零基础入门学习C语言54
- 结构体与共用体03 - 零基础入门学习C语言55
- 结构体与共用体02 - 零基础入门学习C语言54
- C语言技巧--在结构体中使用函数例子(定义一个指向函数的指针)
- 结构体与共用体01 - 零基础入门学习C语言53