【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 = "小明" };//指定顺序初始化

结构成员访问操作符

结构体成员的直接访问

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

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

结构体成员的间接访问

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

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

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

相关推荐
爱吃生蚝的于勒1 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
失落的香蕉4 小时前
C语言串讲-2之指针和结构体
java·c语言·开发语言
ChoSeitaku6 小时前
链表循环及差集相关算法题|判断循环双链表是否对称|两循环单链表合并成循环链表|使双向循环链表有序|单循环链表改双向循环链表|两链表的差集(C)
c语言·算法·链表
DdddJMs__1356 小时前
C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
c语言·leetcode·题解
娃娃丢没有坏心思7 小时前
C++20 概念与约束(2)—— 初识概念与约束
c语言·c++·现代c++
ahadee8 小时前
蓝桥杯每日真题 - 第11天
c语言·vscode·算法·蓝桥杯
No0d1es9 小时前
2024年9月青少年软件编程(C语言/C++)等级考试试卷(九级)
c语言·数据结构·c++·算法·青少年编程·电子学会
Che3rry10 小时前
C/C++|关于“子线程在堆中创建了资源但在资源未释放的情况下异常退出或挂掉”如何避免?
c语言·c++
kuiini12 小时前
C 语言学习-02【编程习惯】
c语言·学习
木辛木辛子12 小时前
L2-2 十二进制字符串转换成十进制整数
c语言·开发语言·数据结构·c++·算法