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

c语言第12天

指针的引入

为函数修改实参提供支持。

为动态内存管理提供支持。

为动态数据结构提供支持。

为内存访问提供另一种途径。

指针概述

内存地址:系统为了内存管理的方便,将内存划分为一个个的内存单元(1个内存单元占1个字 节),并为每一个内存单元进行了编号,内存单元的编号称为该内存单元的地址。一般情况下,我 们每一个变量都是由多个内存单元构成的,所以每个变量的内存地址,其实就是这个变量对应的第 一个内存单元的地址,也叫首地址。

变量指针:变量地址称为该变量的指针。变量地址往往是指变量在内存中第一个内存单元的编号 (首地址)。

指针变量:存放其他变量地址的变量。

指向:指针变量中存放“谁”的地址,就说明该指针变量指向了“谁”。

* :指针运算符

案例:

指针变量的定义

语法:

举例:

注意:

1. 虽然定义指针变量 *a ,是在变量名前加上 * ,但是实际变量名为 a ,而不是 *a ;

2. 使用指针变量间接访问内存数据是,指针变量必须要有明确的指向;

3. 如果想借助指针变量间接访问指针变量保存的内存地址上的数据,可以使用指针变量前加 * 来间 接访问;

指针变量前加 * ,也称为对指针变量 解引用 。

4. 指针变量只能指向同类型的变量,借助指针变量访问内存,一次访问的内存大小是取决于指针变量 的类型。

5. 指针变量在定义同时可以初始化:这一点和普通变量是一样的。

指针变量的使用

使用

指针变量的赋值:

操作指针变量的值

操作指针变量指向的值

两个有关运算符的使用

& 取地址运算符。 &a是变量a的地址。

* 指针运算符 (或称“间接访问”运算符),*p是指针变量p指向的对象的值。

案例:

案例1:

声明a,b两个一般变量,使用间接存取的方式实现数据的交换?

代码:

案例2:

指针变量应用。输入a、b两个整数,按先大后小的顺序输出a和b。

代码:

代码:不推荐

指针变量做函数参数

指针变量做函数参数往往传递的是变量的地址(首地址),借助于指针变量间接访问是可以修改实参 变量数据的。

案例1:

需求:要求用函数处理,用指针变量作函数的参数

方式1:交换指向(指向的普通变量的值不变)

方式2:交换值(指向的普通变量的值改变)

http://www.lryc.cn/news/422860.html

相关文章:

  • 回归预测|一种多输入多输出的粒子群优化支持向量机数据回归预测Matlab程序PSO-MSVR非for循环实现 原理上进行修改多输出
  • 《花100块做个摸鱼小网站! 》第二篇—后端应用搭建和完成第一个爬虫
  • Mapreduce_csv_averageCSV文件计算平均值
  • 将UEC++项目转码成UTF-8
  • 深入探索MySQL C API:使用C语言操作MySQL数据库
  • 武汉流星汇聚:亚马逊助力跨境电商扬帆起航,海外影响力显著提升
  • C语言:设计模式
  • Pandas数据选择的艺术:深入理解loc和iloc
  • <数据集>固定视角监控牧场绵羊识别数据集<目标检测>
  • 浙大数据结构慕课课后题(06-图2 Saving James Bond - Easy Version)(拯救007)
  • 前置(1):npn 和yarn ,pnpm安装依赖都是从那个源安装的啊,有啥优缺点呢
  • 视频融合项目中的平台抉择:6大关键要素助力精准选型
  • 微信小程序项目结构
  • C++unordered_map的用法
  • 代码随想录算法训练营第三十六天| 188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
  • Golang | Leetcode Golang题解之第332题重新安排行程
  • Spring Boot - 通过ServletRequestHandledEvent事件实现接口请求的性能监控
  • Docker相关配置记录
  • MySQL中INT(3)与INT(11)
  • Qt 窗口:菜单、工具与状态栏的应用
  • 学习必备好物有哪些?高三开学季好物推荐合集
  • java的分类
  • 基于火山引擎云搜索服务和豆包模型搭建 RAG 推理任务
  • Python 实现 Excel 文件操作的技术性详解
  • Spring WebFlux 实现 SSE 流式回复:类GPT逐字显示回复效果完整指南
  • 成功解决7版本的数据库导入 8版本数据库脚本报错问题
  • 如何让RStudio使用不同版本的R
  • 汽车免拆诊断案例 | 2011 款进口现代新胜达车智能钥匙系统有时失效
  • Count clock
  • 【MySQL】1.MySQL基本操作