C语言,数据结构指针,结构构体操作符 •,->,*的区别,看这篇就够了

在朋友们学习指针和数据结构这一章的时候,对各种操作符云里雾里。当你看到这么文章之后你就会明白了。

一 • 和 ->运算符

• 运算符:是结构变量访问结构体成员时用的操作符

-> 运算符:这是结构体指针访问结构体成员时调用的运算符。

如 我们给一个例子

cpp 复制代码
typedf struct{
    //三个结构体成员
    char username[20];
    int    age;
    char    key[30];
    
}userdata;             //给这个结构体取别名

userdata data;        //定义结构体变量
userdata *pdata;      //定义结构体指针
    

那么我们如何通过结构体变量,和结构体指针取访问结构体成员呢

结构体变量用 • 操作符访问结构体成员。

结构体指针用 -> 操作符访问结构体成员;

cpp 复制代码
data.username = hello;

data->age      = 19;

二. *操作符

int *p和int* p的区别

int *p:的意思是解引用操作符,通过地址找到地址所指的对象

如 *p=20;是通过p所指的地址,取改变他的值

int *p = &20; 这里指的是p指针指向20这个元素的地址

int* p;是说明 p是一个指针变量

好了这就这篇文章的主要内容

相关推荐
Heorine6 小时前
408 操作系统 知识点记忆(5)输入/输出管理
考研
16月6日-晴6 小时前
Java面向对象——接口
java·开发语言
wuyk5557 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
geovindu7 小时前
CSharp: Wordcloud
开发语言·后端·c#·.net·.netcore·词云
-dzk-7 小时前
【链表】LC 138.随机链表的复制
数据结构·链表
Java小白笔记7 小时前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip
Persistent的粽子!7 小时前
C++:类与对象(一)
开发语言·c++·经验分享·笔记
weixin_440730507 小时前
使用pytest中方法控制执行步骤(test_begin.py、test_end.py,@pytest.mark.run(order=1))
开发语言·python·pytest
geovindu8 小时前
CSharp: Command Pattern
开发语言·后端·c#·.net·.netcore·命令模式·行为模式
洋不写bug8 小时前
链表补充练习,双链表的模拟实现
java·数据结构·链表·双链表·底层实现