16-结构体

16-结构体

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

/* 创建一个学生类型 */
struct Stu
{
	char name[20];		//名字
	int age;			//年龄
	double score;		//成绩
};

/* 创建一个书的类型 */
struct Book
{
	char name[20];		//名字
	float price;		//价格
	char id[30];		//书号
};

一、结构体变量的创建

struct Stu s;		//结构体变量的创建(未初始化)

二、. 操作符

用来表示结构体成员变量

结构体成员表达形式结构体变量 . 结构体成员变量

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

/* 创建一个学生类型 */
struct Stu
{
	char name[20];		//名字
	int age;			//年龄
	double score;		//成绩
};

int main()
{
	struct Stu s = { "张三", 20, 85.5 };		//结构体变量的创建和初始化

	/*
	 * 结构体成员表达形式:结构体变量.结构体成员变量
	 */
	printf("名字:%s\t 年龄:%d\t 成绩:%lf\n", s.name, s.age, s.score);		//%lf 打印双精度浮点型的格式

	return 0;
}

image-20241206173203916

三、-> 操作符

指针指向对象中的变量

结构体成员表示形式:结构体指针 -> 成员变量名

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

/* 创建一个学生类型 */
struct Stu
{
	char name[20];		//名字
	int age;			//年龄
	double score;		//成绩
};

int main()
{
	struct Stu s = { "张三", 20, 85.5 };		//结构体变量的创建和初始化

	/*
	 * 结构体成员表达形式:结构体变量.结构体成员变量
	 */
	printf("方法1(.):名字:%s\t 年龄:%d\t 成绩:%lf\n\n", s.name, s.age, s.score);		//%lf 打印双精度浮点型的格式

	struct Stu * pa = &s;		//获取 s 变量的地址

	/*
	 * 结构体成员表达形式:指针变量的取值.结构体成员变量
	 */
	printf("方法2(.):名字:%s\t 年龄:%d\t 成绩:%lf\n\n", (*pa).name, (*pa).age, (*pa).score);		//%lf 打印双精度浮点型的格式

	/*
	 * 结构体成员表达形式:结构体指针 -> 成员变量名
	 */
	printf("方法3(->):名字:%s\t 年龄:%d\t 成绩:%lf\n", pa->name, pa->age, pa->score);		//%lf 打印双精度浮点型的格式

	return 0;
}

image-20241206174546927

posted @   AK47YHAO  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示