结构体的基本使用

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

定义结构体

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

基本结构体定义语法:

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

示例:

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

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

使用结构体

声明结构体变量

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

访问结构体成员

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

示例:

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 关键字。

相关推荐
不会就选b5 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
Cccp.1239 小时前
【leetcode】(七)前缀树和贪心算法
数据结构·leetcode·贪心算法
Logic10112 小时前
C语言/数据结构位运算题解:异或XOR找出多任务下载器中的“独特下载速度“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
yexianglunbai15 小时前
Redis 详解:从核心数据结构到高可用架构实战
数据结构
bro_Java66615 小时前
《栈与队列:数据结构的“双生花”》
java·数据结构·编辑器
sogw-三叶草️16 小时前
LeetCode 989. 数组形式的整数加法
数据结构·算法
yi01116 小时前
DAY 14: LeetCode 394. 字符串解码|递归和栈到底怎么处理嵌套?
数据结构·笔记·python·算法·leetcode
张小姐的猫17 小时前
【AI大模型接入SDK】 —— 前端页面 & 项目总结与拓展
前端·数据结构·数据库·c++·人工智能·chatgpt
sunburn-19 小时前
Java 排序算法详细教学:从冒泡排序到快速排序
java·开发语言·数据结构·ide·算法
bksczm19 小时前
零基础面试题1
jvm·数据结构·算法