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;
}