当前位置: 首页 > news >正文

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.lryc.cn/news/321266.html

相关文章:

  • Linux 发布项目到OpenEuler虚拟机
  • 相机与相机模型(针孔/鱼眼/全景相机)
  • ARM32day4
  • 从零开始写 Docker(六)---实现 mydocker run -v 支持数据卷挂载
  • 网站引用图片但它域名被墙了或者它有防盗链,我们想引用但又不能显示,本文附详细的解决方案非常简单!
  • Java八股文(RabbitMQ)
  • 科研学习|论文解读——一种用于短文本消息中的释义检测的深度网络模型(IPM, 2018)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)下篇
  • 3月19日做题
  • Java8中Stream流API最佳实践Lambda表达式使用示例
  • 构建Helm chart和chart使用管道与函数简介
  • 深入理解OnCalculate函数的运行机制
  • 快速从0-1完成聊天室开发——环信ChatroomUIKit功能详解
  • nginx实现多个域名和集群
  • C. Left and Right Houses
  • 缓存与内存:加速你的Python应用
  • Go语言之函数、方法、接口
  • 【Week Y2】使用自己的数据集训练YOLO-v5s
  • 蓝桥杯--基础(哈夫曼)
  • 【Redis内存数据库】NoSQL的特点和应用场景
  • JavaScript基础知识2
  • Linux之线程同步
  • 03 龙芯平台openstack部署搭建-keystone部署
  • 定义了服务器的端口号和Servlet的上下文路径
  • AI论文速读 | UniST:提示赋能通用模型用于城市时空预测
  • rabbitmq-spring-boot-start配置使用手册
  • 操作系统知识-操作系统作用+进程管理-嵌入式系统设计师备考笔记
  • Go语言中的锁与管道的运用
  • 前端 - 基础 表单标签 -- 表单元素( input - type属性) 文本框和密码框
  • 关于MySQL模糊搜索不区分大小写