【C语言】操作符详解(四):结构成员访问操作符

目录

结构成员访问操作符

结构体

结构体的声明

结构体变量的定义和初始化

结构成员访问操作符

结构体成员的直接访问

结构体成员的间接访问


结构成员访问操作符

结构体

C语言已经提供了内置类型,如: char、short、int、long、float、double等,但是只有这些内置类型还是不够的,假设我想描述学生,描述一本书,这时单一的内置类型是不行的。描述一个学生需要名字、年龄、学号、身高、体重等;描述一本书需要作者、出版社、定价等。C语言为了解决这个问题,增加了结构体这种自定义的数据类型,让程序员可以自己创造适合的类型。

结构体的声明

cpp 复制代码
struct tag//结构体标签名
{
	member-list;//成员列表
}variable---list;//变量列表

描述一个学生:

cpp 复制代码
struct student
{
	char name[20];//名字
	int age;//年龄
	char sex[5];//性别
	char id[8];//学号
}s1;//创建了一个student类型的变量s1

结构体变量的定义和初始化

变量创建(定义)的两种方法:

cpp 复制代码
struct Point 
{
	int x;
	int y;
}p1;//方法1:声明类型的同时创建Point类型的变量p1
struct Point p2;//方法2:单独创建Point类型的变量p2

变量初始化:

cpp 复制代码
struct Stu 
{
	char name[8];//姓名
	char sex[5];//性别
};
struct Stu s1 = { "小明","男" };//按顺序初始化
struct Stu s1 = { .sex = "男",.name = "小明" };//指定顺序初始化

结构成员访问操作符

结构体成员的直接访问

结构体成员的直接访问是通过点操作符(.)访问的。点操作符接受两个操作数。如下所示:

**使用方式:**结构体变量.成员名

结构体成员的间接访问

有时候我们得到的不是一个结构体变量,而是得到了一个指向结构体的指针。如下所示:

**使用方式:**结构体指针->成员名。

以上便是我为大家带来的操作符详解(四):结构成员访问操作符的内容,若有不足,望各位大佬在评论区指出,谢谢大家!可以留下你们点赞、收藏和关注,这是对我极大的鼓励,我也会更加努力创作更优质的作品。再次感谢大家!

相关推荐
小麦嵌入式16 分钟前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
jelasin1 小时前
LibCoroutine开发手记:细粒度C语言协程库
c语言
篝火悟者1 小时前
自学-C语言-基础-数组、函数、指针、结构体和共同体、文件
c语言·开发语言
神里流~霜灭3 小时前
蓝桥备赛指南(12)· 省赛(构造or枚举)
c语言·数据结构·c++·算法·枚举·蓝桥·构造
双叶8363 小时前
(C语言)单链表(1.0)(单链表教程)(数据结构,指针)
c语言·开发语言·数据结构·算法·游戏
艾妮艾妮4 小时前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法
charlie1145141915 小时前
STM32F103C8T6单片机硬核原理篇:讨论GPIO的基本原理篇章1——只讨论我们的GPIO简单输入和输出
c语言·stm32·单片机·嵌入式硬件·gpio·数据手册
矿渣渣5 小时前
int main(int argc, char **argv)C语言主函数参数解析
c语言·开发语言
阿让啊5 小时前
bootloader+APP中,有些APP引脚无法正常使用?
c语言·开发语言·stm32·单片机·嵌入式硬件
代码AC不AC5 小时前
【数据结构】队列
c语言·数据结构·学习·队列·深度讲解