【C语言】C语言期末突击/考研--结构体与C++引用

一、结构体--结构体对齐--结构体数组

1.1.结构体的定义、初始化、结构体数组

    有时候需要将不同类型的数据组合为一一个整体,以便于引用。 例如,一名学生有学号、姓
名、性别、年龄、地址等属性,如果针对学生的学号、姓名、年龄等都单独定义一个变量,那么在有多名学生时,变量就难以分清。为此,C语言提供结构体来管理不同类型的数据组合。
声明一个结构体类型的一般形式为:

struct        结构体名
                {成员表列};

例如,

struct  student
        {
                int num;char name[20];char sex;
                int age;float score;char addr[30];
        };

先声明结构体类型,再定义变量名。例如:

struct student        student1, student2;

接下来看例1.1。

【例1.1】 结构体的scanf读取和输出。

#include <stdio.h>
struct student{
    int num;
    char name[20];
    char sex;
    int age;
    float score;
    char addr[30];
}; //结构体类型声明,注意最后一定要加分号

int main() {
    struct student s = {1001, "mumu", 'M', 20, 85.4, "Shenzhen"}; //定义及初始化
    struct student sarr[3];
    int i;
    printf("%d %s %c %d %f %s \n", s.num, s.name, s.sex, s.age, s.score, s.addr);
    for (i = 0; i < 3; i++) {
        scanf("%d%s %c%d%f%s", &sarr[i].num, sarr[i].name, &sarr[i].sex,
              &sarr[i].age, &sarr[i].score, sarr[i].addr);
    }
    for (i = 0; i < 3; i++) {
        printf("%d %s %c %d %f %s\n", sarr[i].num, sarr[i].name, sarr[i].sex,
               sarr[i].age, sarr[i].score, sarr[i].addr);
    }
    return 0;
}

    结构体类型声明要放在main函数之前,这样main函数中才可以使用这个结构体,工作中往往把结构体声明放在头文件中。注意,结构体类型声明最后一定要加分号,否则会编译不通。另外,定义结构体变量时,使用struct studen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值