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

相关推荐
一位狮子座的程序员1 分钟前
如何用RAG解决AI智能体的知识盲区?
开发语言·c#
吹什么轩16 分钟前
c++复习:模拟实现list来更好的理解和应用list
开发语言·c++
小白学大数据21 分钟前
Python 爬虫实战:抓取汽车之家二手车成交价格与里程数据
开发语言·爬虫·python·汽车
深盾科技_Virbox33 分钟前
软件加密工具怎么选:试用验证、采购成本与授权范围
开发语言·安全·软件需求
A_cainiao_A1 小时前
C++20:std::stop_source让线程说停就听
开发语言·c++20
fīɡЙtīиɡ ℡1 小时前
深入学习JAVA并发编程(上)
java·开发语言·学习
zzzll11111 小时前
HashMap、HashTable、ConcurrentHashMap 详细区别与深度解析
开发语言·python
老师我太想进步了20262 小时前
C语言版讲解函数递归
c语言·开发语言
猿长大人2 小时前
C# | 函数式编程入门
开发语言·c#·.net
W_326002 小时前
Python 组合数据类型——序列(列表 & 元组)
开发语言·python