结构体的基本使用

在C语言中,结构体(Struct)是一种自定义的数据类型,它允许你将多个不同类型的变量组合成一个单一的类型。结构体在组织和处理具有实体属性的数据时非常有用,如学生、汽车、坐标点等。它们是数据封装的基础。

定义结构体

结构体通过 struct 关键字定义。一个结构体可以包含多个不同类型的成员(如 intfloatchar 等)。这些成员可以是基本数据类型、数组、甚至是其他结构体。

基本结构体定义语法

cpp 复制代码
struct StructName{
    dataType member1;
    dataType member2;
    ...
}
  • struct 是关键字。
  • StructName 是结构体名称。
  • dataType member1, dataType member2, ... 是结构体成员。

示例

cpp 复制代码
struct Pint{
    int x;
    int y;
};

这定义了一个名为 Point 的结构体,包含两个整型成员 xy

使用结构体

声明结构体变量

在定义结构体后,你可以像使用标准数据类型一样使用它来声明变量。

访问结构体成员

可以使用点(.)运算符来访问结构体的成员。

示例:

cpp 复制代码
struct Point p1,p2;
p1.x=10;
p1.y=20;

结构体指针

当有一个指向结构体的指针时,可以使用箭头(->)运算符来访问结构体的成员。

示例:

cpp 复制代码
struct Point *ptr=&p1;
ptr->x=30;
ptr->y=40;

typedef 与结构体

可以使用 typedef 关键字为结构体创建一个新的别名,从而使得声明更加简洁。

cpp 复制代码
typedef struct Point{
    int x;
    int y;
}Point;

Point p1,p2;

在这个例子中,Point 现在可以直接用来声明新的结构体变量,而无需在前面加 struct 关键字。

相关推荐
whn197725 分钟前
在sqllog中排查达梦阻塞会话
数据结构
01二进制代码漫游日记1 小时前
C/C++中的内存区域划分
c语言·jvm·数据结构·学习
xiaoye-duck1 小时前
《算法题讲解指南:优选算法-链表》--51.两数相加,52.两两交换链表中的节点
数据结构·算法·链表
代码改善世界1 小时前
【数据结构】八大排序算法详解(C语言实现)|插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序
c语言·数据结构·排序算法
2501_940315262 小时前
98验证二叉搜索树
java·数据结构·算法
仰泳的熊猫2 小时前
题目2266:蓝桥杯2015年第六届真题-打印大X
数据结构·c++·算法·蓝桥杯
cui_ruicheng2 小时前
C++ 数据结构:AVL树原理与实现
数据结构·c++
小龙报2 小时前
【数据结构与算法】环与相遇:链表带环问题的底层逻辑与工程实现
c语言·数据结构·c++·物联网·算法·链表·visualstudio
噜啦噜啦嘞好3 小时前
算法:双指针
数据结构
仟濹3 小时前
【算法打卡day20(2026-03-12 周四)算法:前缀和,二维前缀和,快慢指针,哈希表set使用技巧,哈希表map使用技巧】7个题
数据结构·算法