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

相关推荐
罗政18 分钟前
PDF书籍《手写调用链监控APM系统-Java版》第12章 结束
java·开发语言·pdf
匹马夕阳19 分钟前
详细对比JS中XMLHttpRequest和fetch的使用
开发语言·javascript·ecmascript
月巴月巴白勺合鸟月半20 分钟前
一个特别的串口通讯
开发语言·串口通讯
乄北城以北乀25 分钟前
第1章 R语言中的并行处理入门
开发语言·分布式·r语言
全栈老实人_35 分钟前
农家乐系统|Java|SSM|VUE| 前后端分离
java·开发语言·tomcat·maven
Tester_孙大壮1 小时前
Python爬虫技术科普
开发语言·爬虫·python
点点滴滴的记录1 小时前
Java的CompletableFuture实现原理
java·开发语言·javascript
程序猿online1 小时前
nvm安装使用,控制node版本
开发语言·前端·学习
一只傻小白,1 小时前
JAVA项目中freemarker静态模板技术
java·开发语言
机跃1 小时前
递归算法常见问题(Java)
java·开发语言·算法