c语言自学4--初识C语言下

本文介绍了如何在C语言中使用结构体描述复杂对象,如书本,包括定义、赋值、成员操作以及通过指针访问结构体成员。还提到书名作为数组不能直接修改,需借助字符串拷贝函数。
摘要由CSDN通过智能技术生成

1.结构体

用于描述复杂对象,是我们自己创造出来的一种类型。

举例:书

描述书需要:书名+作者+出版社+定价+书号。。。

1)举例代码

struct Book
{
    char name[20];
    short price;
};
int main()
{
    struct Book b1 = { "c语言", 55 }; //利用结构体类型-创建一个该类型的结构体变量
    printf("书名:%s\n", b1.name);
    printf("价格:%d\n", b1.price);
    return 0;
}  //执行结果 书名:c语言 价格:55

2)修改价格

struct Book
{
    char name[20];
    short price;
};
int main()
{
    struct Book b1 = { "c语言", 55 };
    printf("书名:%s\n", b1.name);
    printf("价格:%d\n", b1.price);
    b1.price = 15;
    printf("打折后价格:%d\n", b1.price);

    return 0;
}  //执行结果:书名:c语言  价格:55  打折后价格:15

2)修改书名

#include <string.h>

struct Book
{
    char name[20];
    short price;
};
int main()
{
    struct Book b1 = { "c语言", 55 };
    strcpy(b1.name, "c++");// strcpy - string copy -字符串拷贝-库函数-头文件string.h
    printf("%s\n", b1.name);
    return 0;
} //执行结果 c++

因为书名是数组名,不能直接更改

3)指针变量

struct Book
{
    char name[20];
    short price;
};
int main()
{
    struct Book b1 = { "c语言", 55 };
    struct Book* pb = &b1;
    printf("%s\n", (*pb).name);
    printf("%d\n", (*pb).price);

    return 0;
}   //执行结果  c语言  55

int main()
{
    struct Book b1 = { "c语言", 55 };
    struct Book* pb = &b1;
    printf("%s\n", pb->name);
    printf("%d\n", pb->price);

    return 0;
}

意义相同

注:.   结构体变量 . 成员

      ->  结构体指针 -> 成员

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值