1、结构体类型:
①标准定义:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//结构体类型的声明与定义
struct Book
{
char name[20];//C语言程序设计
short price;//55
}; //分号;必不可少
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;
}
②结构体类型的指针变量用法:
#define _CRT_SECURE_NO_WARNINGS
#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;
}
简化版:
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);
/*printf("书名:%s\n", (*pb).name);
printf("价格:%d\n", (*pb).price);*/
return 0;
}
“.” (结构成员访问操作符)结构体变量. 成员
“->”(操作符)结构体指针->成员
③改变数组名:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//strcpy - string copy(字符串拷贝)-库函数
//结构体类型的声明与定义
struct Book
{
char name[20];//书名
short price;//价格
};
int main()
{
//利用结构体类型-创建一该类型的结构体变量
struct Book b1 = { "C语言程序设计", 55 };
strcpy(b1.name, "C++");//利用strcpy函数改变数组名
printf("书名:%s\n", b1.name);
return 0;
}