C语言---指针的两个运算符:点和箭头

目录

  • 点(.)运算符
  • 箭头(->)运算符
  • 需要注意
  • 实际例子

  • C语言中的指针是一种特殊的变量,它存储了一个内存地址。
  • 点(.)和箭头(->)是用于访问结构体和联合体成员的运算符。

点(.)运算符

  • 点(.)运算符用于访问结构体或联合体变量的成员。当我们需要直接使用结构体的成员,并且不需要在不同的函数之间传递结构体时,可以选择定义结构体变量。这样可以直接通过结构体变量名和点运算符来访问结构体的成员。
  • 当我们有一个结构体或联合体变量时,可以使用点运算符来访问该变量的成员。例如:
struct Person {char name[20];int age;
};struct Person p;
p.age = 25;

箭头(->)运算符

  • 箭头(->)运算符用于访问指向结构体或联合体的指针的成员。当我们需要在不同的函数之间传递结构体,或者需要动态分配内存来存储结构体时,可以选择定义指向结构体的指针。通过指针,我们可以方便地传递结构体的地址,避免了复制结构体的开销,并且可以在需要时动态分配和释放内存。
  • 当我们有一个指向结构体或联合体的指针时,可以使用箭头运算符来访问该指针指向的结构体或联合体的成员。例如:
struct Person {char name[20];int age;
};struct Person *ptr;
ptr = &p;
ptr->age = 25;

需要注意

  • 点运算符只能用于结构体或联合体变量,而箭头运算符只能用于指向结构体或联合体的指针
  • 点运算符和箭头运算符都是从左到右结合的。
  • 点运算符和箭头运算符的优先级高于其他大多数运算符。

实际例子

  • 例如,我们可以定义一个结构体表示学生信息,然后使用点和箭头运算符来访问学生的姓名和年龄:
#include <stdio.h>struct Student {char name[20];int age;
};int main() {struct Student s;struct Student *ptr;// 使用点运算符访问结构体变量的成员s.age = 18;printf("Student's age: %d\n", s.age);// 使用箭头运算符访问指针指向的结构体的成员ptr = &s;ptr->age = 20;printf("Student's age: %d\n", ptr->age);return 0;
}

输出:

Student's age: 18
Student's age: 20

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/279225.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPSEC VPN-详解原理

目录 IPSEC提供的安全服务 IPSEC协议簇 ​编辑 安全协议 1.传输模式 2. 隧道模式 AH ---鉴别头协议 AH提供的安全服务&#xff1a; AH头部 AH的保护范围 1.传输模式 2.隧道模式 ​编辑 ESP ---封装安全载荷协议 ESP提供的安全服务&#xff1a; ESP的头部 ESP的保护范围 1.传输…

3月19日做题

[NPUCTF2020]验证&#x1f40e; if (first && second && first.length second.length && first!second && md5(firstkeys[0]) md5(secondkeys[0]))用数组绕过first1&second[1] 这里正则规律过滤位(Math.) (?:Math(?:\.\w)?) : 匹配 …

②免费AI软件开发工具测评:通义灵码 VS 码上飞

前言 我又双叒叕来测评了&#xff01;上次给大家带来的是iFlyCode和CodeFlying两款产品的测评&#xff0c;受到了大家的一致好评~ 今天咱就继续来聊聊&#xff0c;这次我们选的的对象是通义灵码和码上飞&#xff0c;从名字上也能看到出来这两款产品一定是跟软件开发有关系的&…

Intewl手机电商项目模板:前端Vue开发的强大助手与无限可能

Intewl手机电商项目模板&#xff1a;前端Vue开发的强大助手与无限可能 在快速发展的移动互联网时代&#xff0c;手机电商项目已经成为商业竞争的新战场。而在这个战场中&#xff0c;如何快速、高效地开发出功能齐全、用户体验优秀的手机电商应用&#xff0c;成为了每一个开发者…

Java安全 反序列化(1) URLDNS链原理分析

Java安全 反序列化(1) URLDNS链原理分析 文章目录 Java安全 反序列化(1) URLDNS链原理分析前置知识应用分析payload1.新建HashMap类2.新建URL类3.获取URL 的 Class对象4.通过反射访问URL内部变量5.通过反射为URL中类赋值6.调用HashMap#put方法传入key和value7.再次通过反射为UR…

【LeetCode热题100】138. 随机链表的复制(链表)

一.题目要求 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值…

使用C#的winform控制数据库实例服务的运行状态

一、得到sqlserver的实例名 二、引用对应的程序集和命名空间 using System.ServiceProcess; C#操作服务要用的类 ServiceController 声明类 private ServiceController serviceController new ServiceController("MSSQLSERVER"); 三、判断服务状态 serviceCon…

阿里云2核4G4M轻量应用服务器价格165元一年

阿里云优惠活动&#xff0c;2核4G4M轻量应用服务器价格165元一年&#xff0c;4Mbps带宽下载速度峰值可达512KB/秒&#xff0c;系统盘是60GB高效云盘&#xff0c;不限制月流量&#xff0c;2核2G3M带宽轻量服务器一年87元12个月&#xff0c;在阿里云CLUB中心查看 aliyun.club 当前…

Bugku MISC做题笔记

简单套娃DX 这一题需要对png图片的结构有所了解。详细可参考https://www.w3.org/TR/png/ 幸好每一张图片只有一个错误&#xff0c;逐步调试&#xff0c;就可以发现所有错误&#xff0c;修正即可。具体错误参看python程序中的注释&#xff1a; import ossrc_dir .\\XD\\ de…

适配器模式(Adapter Pattern)

原文地址&#xff1a;https://jaune162.blog/design-pattern/adapter-pattern.html 更多精彩文章请移步&#xff1a;https://jaune162.blog 更多专题系列文章请移步&#xff1a;https://books.jaune162.blog 序言 在软件开发的世界中&#xff0c;我们经常会遇到一个棘手的问题…

Java8中Stream流API最佳实践Lambda表达式使用示例

文章目录 一、创建流二、中间操作和收集操作筛选 filter去重distinct截取跳过映射合并多个流是否匹配任一元素&#xff1a;anyMatch是否匹配所有元素&#xff1a;allMatch是否未匹配所有元素&#xff1a;noneMatch获取任一元素findAny获取第一个元素findFirst归约数值流的使用中…

分布式接口幂等性解析

一、概述 幂等性定义&#xff1a;用户对于同一操作发起的一次请求或者多次请求的结果是一致的&#xff0c;不会因为多次点击而产生了副作用。【同一操作指的是同一个浏览器&#xff0c;发送相同的请求】。 常见场景&#xff1a; 提交订单接口。返回提交结果时网络出现故障&am…

UDF提权

目录 一、UDF概述 二、提权条件 三、漏洞复现 (一) 信息收集 1. Nmap信息收集 1.1、查看当前IP地址 1.2、扫描当前网段&#xff0c;找出目标机器 1.3、快速扫描目标机全端口 2. dirb目录扫描 3. 第一个flag 3.1、目录遍历漏洞 3.2、flag 4. 敏感信息利用 (二) 漏…

重学SpringBoot3-函数式Web

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-函数式Web 函数式Web编程简介RouterFunctionRequestPredicateServerRequestServerResponse 好处示例结论 随着响应式编程范式的兴起和 Java 函数式编程能…

腾讯云服务器多少钱一个月?5元1个月,这价格没谁了

2024腾讯云服务器多少钱一个月&#xff1f;5元1个月起&#xff0c;腾讯云轻量服务器4核16G12M带宽32元1个月、96元3个月&#xff0c;8核32G22M配置115元一个月、345元3个月&#xff0c;腾讯云轻量应用服务器61元一年折合5元一个月、4核8G12M配置646元15个月、2核4G5M服务器165元…

[QJS xmake] 非常简单地在Windows下编译QuickJS!

文章目录 前言准备C编译器xmake编译包 工程准备修改版本号第一遍编译第二遍编译效果 前言 quickjs是个很厉害的东西啊&#xff0c;我一直想编译一下的&#xff0c;奈何一直没成功。现在找了点时间成功编译了&#xff0c;写篇文章记录一下。当前版本&#xff1a;2024-1-13 应该…

插入排序算法记录

插入排序 1.基本思想&#xff1a;左侧的子序列总是有序的。对于每一个位置上的元素&#xff0c;将其与左侧已排序的部分进行比较并插入到合适的位置&#xff0c;直到整个序列有序 2.性能分析&#xff1a; 最好情况&#xff1a;如果输入数组已经是有序的&#xff0c;插入排序只…

原型模式(Clone)——创建型模式

原型模式(clone)——创建型模式 什么是原型模式&#xff1f; 原型模式是一种创建型设计模式&#xff0c; 使你能够复制已有对象&#xff0c; 而又无需依赖它们所属的类。 总结&#xff1a;需要在继承体系下&#xff0c;实现一个clone接口&#xff0c;在这个方法中以本身作为拷…

【你也能从零基础学会网站开发】Web建站之jQuery进阶篇 jQuery自定义插件应用开发

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 jQuery插件开发…

鸿蒙API9+axios封装一个通用工具类

使用方式&#xff1a; 打开Harmony第三方工具仓&#xff0c;找到axios&#xff0c;如图&#xff1a; 第三方工具仓网址&#xff1a;https://ohpm.openharmony.cn/#/cn/home 在你的项目执行命令&#xff1a;ohpm install ohos/axios 前提是你已经装好了ohpm &#xff0c;如果没…