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.总结一下,->运算符用于访问结构体指针的成员,而.运算符用于访问结构体变量的成员。

相关推荐
道剑剑非道17 小时前
【C++ 仿 MFC 反射系统】
开发语言·c++·mfc
Elastic 中国社区官方博客18 小时前
在 Elastic 中使用 OpenTelemetry 内容包可视化 OpenTelemetry 数据
大数据·开发语言·数据库·elasticsearch·搜索引擎
cui_ruicheng18 小时前
Linux IO入门(一):从C语言IO到文件描述符
linux·运维·c语言
C+++Python18 小时前
如何学习Python的应用领域知识?
开发语言·python·学习
疯狂打码的少年18 小时前
【Day12 Java转Python】Python工程的“骨架”——模块、包与__name__
java·开发语言·python
全栈开发圈18 小时前
新书速览|MATLAB数据分析与可视化实践:视频教学版
开发语言·matlab·数据分析
网域小星球18 小时前
C 语言从 0 入门(二十二)|内存四区:栈、堆、全局、常量区深度解析
c语言·开发语言
晓纪同学18 小时前
EffctiveC++_第三章_资源管理
开发语言·c++·算法
蚊子码农19 小时前
每日一题--C语言指针与内存泄漏:一道小问题的深度复盘
c语言·开发语言
Fanfanaas19 小时前
Linux 系统编程 进程篇(一)
linux·运维·服务器·c语言·开发语言·网络·学习