C语言程序设计学习笔记第九章结构体

本文详细介绍了C语言中的结构体概念,包括如何定义结构体、结构体变量的初始化以及使用typedef创建类型别名。通过示例展示了结构体在存储学生信息时的应用,如定义包含多个成绩的结构体,并演示了结构体数组的创建和初始化。同时,还提到了typedef的使用,它能为已有类型提供新的名字,使代码更具可读性。
摘要由CSDN通过智能技术生成

第九章

结构体

9.1结构体的概念

结构体是一种可以由我们自己定义的数据类型

#include <stdio.h>

struct student{
    int num;
    int score;
    float average;
};
int main(void){
    //定义变量,存放学生的序号、成绩、平均分
    struct student Tom;//Tom是变量,struct student是数据类型
    struct student class4[50];
    return 0;
}

9.2结构体的定义

 

 

 

#include <stdio.h>

//定义一个结构体,包含学生的学号,C语言成绩,mySQl成绩,PS成绩,平均分
struct student{//student是结构体名称
    int num;
    int C_score;
    int PS_score;
    int mySQL_score;
    float avg;  
};
int main(void){

    return 0;
}

9.3结构体变量的定义

#include <stdio.h>

//定义一个结构体,包含学生的学号,C语言成绩,PS成绩,平均分
struct student{//student是结构体名称,里面的变量不能赋初值
    int num;
    int C_score;
    int PS_score;
    float avg;  
};
int main(void){
    //struct student是类型名,Tom是变量名
    struct student Tom = {10,90,98,94.5};          
    Tom.num = 12;
    Tom.C_score = 95;
    Tom.PS_score = 96;
    Tom.avg = 95.5;
    printf("序号:%d\n",Tom.num);
    printf("C语言成绩:%d\n",Tom.C_score);
    printf("PS成绩:%d\n",Tom.PS_score);
    printf("平均分:%f\n",Tom.avg);
    return 0;
}

#include <stdio.h>

struct student{//student是结构体名称,里面的变量不能赋初值
    int num;
    int C_score;
    int PS_score;
    float avg;  
}Jerry;//Jerry是结构体变量
int main(void){
  
    return 0;
}

 

 示例

#include <stdio.h>

//定义一个结构体,包含学生的学号,三门课的成绩,平均分
struct student{//student是结构体名称,里面的变量不能赋初值
    int num;
    int score[3];
    float avg;  
};
int main(void){
   
    struct student Tom = {10,{90,80},85.5};//==>Tom的学号三门课成绩平均分分别是:10,90,80,0,85.5。一般建议使用这种赋值方法
    struct student Jim = {10,90,80,85.5};//==>Jim的学号三门课成绩平均分分别是:10,90,80,85,0
     
    printf("序号:%d\n",Jim.num);
    printf("成绩1:%d\n",Jim.score[0]);
    printf("成绩2:%d\n",Jim.score[1]);
    printf("成绩3:%d\n",Jim.score[2]);
    printf("平均分:%f\n",Jim.avg);
    return 0;
}

9.4typedef的使用

 

#include <stdio.h>
//typedef 已有的类型名 别名;
typedef int TYPE;//要加分号
#define SIZE 5  //宏定义不需要加分号

int main(void){
    int a[SIZE];
    TYPE b;//相当于int b;
    return 0;
}

 

 

9.5结构体数组

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值