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是一个指针变量

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

相关推荐
q567315237 分钟前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
能工智人小辰8 分钟前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法
kingmax542120089 分钟前
CCF GESP202503 Grade4-B4263 [GESP202503 四级] 荒地开垦
数据结构·算法
笨笨马甲13 分钟前
附加模块--Qt OpenGL模块功能及架构
开发语言·qt
钮钴禄·爱因斯晨1 小时前
Java 面向对象进阶之多态:从概念到实践的深度解析
java·开发语言·数据结构
鸽子炖汤1 小时前
Java中==和equals的区别
java·开发语言·jvm
有个傻瓜1 小时前
PHP语言核心技术全景解析
开发语言·kubernetes·php
菥菥爱嘻嘻2 小时前
JS手写代码篇---手写ajax
开发语言·javascript·ajax
江梦寻2 小时前
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
开发语言·后端·python·macos·架构·策略模式
AL流云。2 小时前
【优选算法】C++滑动窗口
数据结构·c++·算法