结构体(struct)​是一种自定义的数据类型,就是把一组需要在一起使用的数据元素组合成一个新的类型。

我们以定义一本书为例:

#include <stdio.h>
#include <string.h>
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);
strcpy(b1.name, "C++");//利用库函数修改书名
printf("修改后的书名:%s\n", b1.name);
return 0;
}

此时输出的结果为:

C语言学习--结构体基础_struct

当然我们可以通过​指针的方法​来实现:

#include <stdio.h>
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;
}