第22节 C语言结构体之结构体嵌套、结构体指针与结构体数组的代码实现

来源:互联网 发布:护眼台灯 知乎 编辑:程序博客网 时间:2024/06/17 03:09

结构体

#include <stdio.h>//第一步struct Student{//学号int no;//姓名char name[20];//性别char sex[10];//成绩double score;};int main(void){//2.声明结构体类型的变量struct Student rui = {2013001,”锐哥","男",98.5};//rui才分配了内存空间//如何取访问结构体变量中的成员变量 "."//3.动态的赋值  变量.成会员变量名;printf("请输入学生学号:如 2013001\n");scanf(“%d”,&rui.no);printf("请输入学生姓名:如 锐哥\n");scanf("%s",rui.name);printf("请输入学生性别:如 男\n");scanf("%s",rui.sex);printf("请输入学生成绩:如 98.5\n");scanf("%lf",&rui.score);//输出printf("----------输出---------\n");printf("学号:%d\n”,rui.no);printf("姓名:%s\n”,rui.name);printf("性别:%s\n”,rui.sex);printf("成绩:%.2lf\n",rui.score);return 0;}



结构体嵌套


#include <stdio.h>//结构体的嵌套//结构体类型的变量做另一个结构体的成员变量struct Birthday{   int y;   int m;   int d;};struct Student{  int no;  char name[20];  int age;//年龄  struct Birthday birth;//生日};int main(void){struct Student rui = {1306001,"锐哥",22,{1990,1,1}};printf("学号:%d\n",rui.no);printf("%d年 -%d月 -%d日\n",rui.birth.y                   ,rui.birth.m,           rui.birth.d);return 0;}



结构体数组

#include <stdio.h>//要有一个结构体类型struct Student{   int no;   char name[20];};//没写分号int main(void){//2.声明一个结构体数组struct Student stu[5] = {0};//就能够保存5个学员的信息//循环给结构体数组中得数据赋值for(int i=0;i<5;i++){printf("学生的学号:\n");scanf("%d",&stu[i].no);printf("学生的姓名:\n");scanf("%s",stu[i].name);}//取值  遍历结构体数组printf("--------输出--------\n");for(int j=0;j<5;j++){printf("学生的学号:");printf("%d\n",stu[j].no);printf("学生的姓名:");printf("%s\n",stu[j].name);}return 0;}


结构体指针

#include <stdio.h>//第一步struct Student{//学号int no;//姓名char name[20];//性别char sex[10];//成绩double score;};//不要丢分号int main(void){//2.声明结构体类型的变量struct Student rui = {2013001,”锐哥","男",98.5};//rui才分配了内存空间//如何取访问结构体变量中的成员变量 "."//结构体类型的指针变量 指向 结构体变量struct Student * point = &rui;//3.动态的赋值  变量.成会员变量名;printf("请输入学生学号:如 2013001\n");scanf("%d",&point->no);printf("请输入学生姓名:如 锐哥\n");scanf("%s",point->name);printf("请输入学生性别:如 男\n");scanf("%s",point->sex);printf("请输入学生成绩:如 98.5\n");scanf("%lf",&point->score);//输出printf("----------输出---------\n");printf("学号:%d\n",point->no);printf("姓名:%s\n",point->name);printf("性别:%s\n",point->sex);printf("成绩:%.2lf\n",point->score);return 0;}


0 0
原创粉丝点击