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

相关推荐
爱吃提升3 分钟前
Yifan Hu(适合大规模数据)大数据算法
开发语言·算法·php
c++之路7 分钟前
装饰器模式(Decorator Pattern)
java·开发语言·装饰器模式
Yolo566Q9 分钟前
环境土壤物理模型HYDRUS1D/2D/3D实践技术应用系统性学习
大数据·开发语言·gpt·学习·arcgis·r语言
AI人工智能+电脑小能手22 分钟前
【大白话说Java面试题 第45题】【JVM篇】第5题:JVM中,对象何时会进入老年代?
java·开发语言·jvm·后端·面试
hanbr23 分钟前
C++ 类型转换与异常处理全解析
开发语言·c++
luck_bor25 分钟前
使用接口定义规范,实现类完成具体逻辑
java·开发语言
小小de风呀29 分钟前
de风——【从零开始学C++】(六):模板初阶
开发语言·c++
likerhood30 分钟前
java的泛型(generics)详细讲解
java·开发语言
知识分享小能手34 分钟前
R语言入门学习教程,从入门到精通,R语言流程控制语句(5)
开发语言·学习·r语言