C语言中 -> 和 . 的区别

在C语言中,->.都是用于访问结构体(struct)成员的运算符,但它们的使用场景略有不同。

1.->运算符用于访问结构体指针的成员。当你有一个指向结构体的指针时,你可以使用->运算符来访问该结构体的成员。例如:

cpp 复制代码
struct Person {  
    char name[50];  
    int age;  
};  
  
struct Person* p = malloc(sizeof(struct Person));  
p->name = "John";  
p->age = 30;

在上面的例子中,p是一个指向Person结构体的指针,你可以使用->运算符来访问nameage成员。

2..运算符用于访问结构体的成员。当你有一个结构体变量时,你可以使用.运算符来访问该结构体的成员。例如:

cpp 复制代码
struct Person {  
    char name[50];  
    int age;  
};  
  
struct Person* p = malloc(sizeof(struct Person));  
p->name = "John";  
p->age = 30;

在上面的例子中,person是一个Person结构体变量,你可以使用.运算符来访问nameage成员。

3.总结一下,->运算符用于访问结构体指针的成员,而.运算符用于访问结构体变量的成员。

相关推荐
七夜zippoe1 小时前
DolphinDB 高可用部署实战:从容灾设计到故障自动转移
开发语言·python·高可用·容灾·dolphindb
不会就选b1 小时前
Linux之线程池(三)
linux·开发语言
棉晗榜1 小时前
C# HttpClient配置具有tls指纹发起跟浏览器一样的请求解决反爬虫防护
开发语言·爬虫·c#
l1t1 小时前
DeepSeek总结的DuckDB 如何更快地运行递归 CTE
java·开发语言·数据库·mysql·duckdb
HAPPY酷2 小时前
python的对象和方法
开发语言·python
橙露2 小时前
移动端客户端原生开发语言
开发语言
Demon--hx2 小时前
设计不能被继承的类
开发语言·c++
兔兔兔兔12 小时前
记录C++ 13
开发语言·c++·算法
码行山野赴时序归途2 小时前
从暴力到最优:三道 C 语言入门题的解法思路
c语言·开发语言·数据结构·算法·leetcode·排序算法
sunoo-2292 小时前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习