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

相关推荐
盐真卿4 小时前
python第八部分:高级特性(二)
java·开发语言
茉莉玫瑰花茶4 小时前
C++ 17 详细特性解析(5)
开发语言·c++·算法
lly2024064 小时前
《堆的 shift down》
开发语言
黎雁·泠崖4 小时前
【魔法森林冒险】2/14 抽象层设计:Figure/Person类(所有角色的基石)
java·开发语言
季明洵5 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
墨雪不会编程5 小时前
C++之【深入理解Vector】三部曲最终章
开发语言·c++
浅念-5 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
小宋10215 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
爱吃生蚝的于勒5 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森5 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix