C语言学习笔记[20]:初识结构体

结构体可以让C语言创建新的类型出来

#include <stdio.h>

//定义结构体,结构体中包含三个成员变量:姓名、年龄、成绩
struct stu
{//成员变量
    char name[20];//姓名
    int age;//年龄
    float score;//成绩
};
//定义另一个结构体,结构体中包含三个成员变量:书名、价格、编号
struct book
{
    char name[20];//书名
    double price;//价格
    int id[30];//编号
};
int main()
{
    struct stu s = {"张三", 20, 90.5};//结构体变量 s 的创建和初始化
    printf("%s %d %f\n", s.name, s.age, s.score);
    return 0;
}

s.name, s.age, s.score 这里用到的操作符是 . 操作符

结构体变量.成员变量

用于找到其成员

与之类似的操作符还有 -> 操作符

#include <stdio.h>

//定义结构体,结构体中包含三个成员变量:姓名、年龄、成绩
struct stu
{//成员变量
    char name[20];//姓名
    int age;//年龄
    float score;//成绩
};
//定义另一个结构体,结构体中包含三个成员变量:书名、价格、编号
struct book
{
    char name[20];//书名
    double price;//价格
    int id[30];//编号
};
int main()
{
    struct stu s = {"张三", 20, 90.5};//结构体变量 s 的创建和初始化
    printf("1.%s %d %f\n", s.name, s.age, s.score);
    struct stu *ps = &s;// 结构体变量 s 的地址赋值给指针变量 ps
    printf("2.%s %d %f\n", (*ps).name, (*ps).age, (*ps).score); // 指针变量 ps 指向结构体变量 s,通过指针访问结构体变量 s 的成员变量
    printf("3.%s %d %f\n", ps->name, ps->age, ps->score); // 指针变量 ps 指向结构体变量 s,通过指针访问结构体变量 s 的成员变量
    return 0;
}

操作符 -> 

结构体指针 -> 成员变量

结构体指针 -> 成员变量 与 *(结构体指针).成员变量   的区别:

结构体指针 -> 成员变量:通过结构体指针指向的结构体变量直接找到它的结构体成员

*(结构体指针).成员变量:先对结构体指针解引用,找到结构体变量,再通过结构体变量找到其结构体成员。 

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值