day11:C语言指针详解:从概念到应用
2.7 指针1. 指针功能使用指针可以使程序更加简洁高效。2. 概念2.1 地址为了区分内存中不同的空间计算机对内存空间进行编址这个空间的编号称为该空间的地址。内存空间按字节编址编址范围可以被寻址的范围0x0000000000000000 - 0xFFFFFFFFFFFFFFFF2.2 指针指针可以理解为是地址地址也可以理解为是指针。指针有类型且有指向空间大小的含义2.3 指针变量用来存放指针的变量称为指针变量。使用指针变量的值等价于使用某个指针所以也会将指针变量简称为指针。3. 指针相关的两个运算符3.1 取地址运算符只有左值能够完成操作常量和表达式不能执行操作连接的表达式一定有值值为该变量在内存中存放的空间的首地址连接的表达式一定有类型类型具有升级的效果int → int *3.2 * 取值运算符只有指针类型能够*操作普通变量无法执行*操作*连接的表达式一定有值值为指针指向的空间以首地址开始指向数据类型大小个字节的数据的值*连接的表达式类型类型具有降级的效果int * → int*连接的表达式作为左值将右值放入指针指向的空间4. 指针变量定义数据类型 *变量名; int *p; char *p; float *p; double *p; int *p, *q;4.1 指针变量大小所有的指针变量均占8个字节与其指针类型无关。4.2 野指针未经初始化的指针或指向已经被释放空间的指针不要使用。int num 0; num; // 获得num在内存空间中的首地址4.3 空指针指向内存地址为0x0空间的指针。0x0地址空间是只读的所以对空指针取*会导致程序崩溃。int *p NULL;4.4 指针类型int *p; // 指针指向int类型的空间 char *p; // 指针指向char类型的空间 float *p; // 指针指向float类型的空间 double *p; // 指针指向double类型的空间4.5 指针含义指针变量本身p操作指针变量本身指针指向的空间*p操作指针指向的空间4.6 指针的算术运算向内存高地址偏移指向数据类型大小个字节空间--向内存低地址偏移指向数据类型大小个字节空间两个指针相减获得两个地址之间差了多少个数据类型对应的元素4.7 指针操作对指针变量p本身赋值可以修改指针的指向对指针变量p取*赋值不修改指针的指向而是利用指针修改指向空间中的值int a 100; int b 200; int *p a; int *q b; // 修改指针指向 p b; // 方式1 p q; // 方式2 // 修改指针指向空间的值 *p b; // 方式3 *p *q; // 方式4注意*p *p, p5. 指针作为函数参数5.1 值传递实参将值传递给形参形参改变不会影响实参函数体内想使用函数体外部变量值的时候使用值传递5.2 地址传递实参地址传递给形参形参是实参的指针可以利用形参修改实参的值函数体内想修改函数体外部变量值的时候使用地址传递利用地址传递可以实现函数返回多个值6. 一维数组和指针的关系6.1 数组和指针的关系数组的数组名是指向数组第一个元素的指针常量。可以将数组名a理解为int *型有两种情况a不能理解为int *型sizeof运算时数组名不能理解为int*型运算时数组名不能理解为int*型6.2 []运算符与指针C语言中[]可以搭配指针使用p[n]等价于指针n再取*。7. 一维整型数组传参此处可补充一维整型数组作为函数参数传递的相关内容附录条件编译与头文件条件编译#if 条件 代码块1 #elif 条件 代码块2 #else 代码块3 #endif // 如果没有定义宏名则将后续代码加入编译中 #ifndef 宏名 // 代码 #endif // 如果定义宏名则将后续代码加入编译中 #ifdef 宏名 // 代码 #endif头文件引入#include stdio.h // : 在系统/usr/include下找头文件 #include myheader.h // : 在当前目录下找头文件如果找不到再去系统目录下找指针的核心优势指针可以直接访问内存空间。

相关新闻

国内AI生成式引擎GEO服务选型指南:从诊断到持续优化的全流程决策框架

国内AI生成式引擎GEO服务选型指南:从诊断到持续优化的全流程决策框架

当越来越多企业意识到大模型正在重构流量入口,GEO(生成式引擎优化)已从"新概念"变成"必答题"。但GEO服务市场快速膨胀的同时,鱼龙混杂的问题也日益突出。本文提供一套从诊断到持续优化的全流程决策框架&#…

2026/8/1 6:39:13 阅读更多 →
STM32编码器模式:从正交信号到高精度位置速度检测

STM32编码器模式:从正交信号到高精度位置速度检测

1. 从“数脉冲”到“辨方向”:编码器模式的本质如果你用过STM32的通用定时器来捕获外部脉冲,可能会觉得编码器模式有点眼熟,但又不太一样。简单来说,通用定时器的输入捕获是“被动计数”,来一个脉冲,计数器…

2026/8/1 6:39:13 阅读更多 →
CAN总线数据解析:深入理解Intel与Motorola格式差异及实战应用

CAN总线数据解析:深入理解Intel与Motorola格式差异及实战应用

1. 从CAN通讯矩阵说起:为什么格式这么重要? 如果你刚开始接触汽车电子或者工业控制,第一次看到“CAN通讯矩阵”这个词,可能会觉得它是个高大上的概念。但说白了,它就是一份“通讯协议说明书”,规定了总线上…

2026/8/1 6:39:13 阅读更多 →

最新新闻

Pandas索引全解析:loc与iloc的核心区别、实战技巧与性能优化

Pandas索引全解析:loc与iloc的核心区别、实战技巧与性能优化

1. 项目概述:从“查户口”到“按图索骥”的索引哲学 如果你用过Excel的VLOOKUP,或者写过一句SQL的 SELECT * FROM table WHERE id1 ,那你对“索引”这个概念就不会陌生。在数据处理的世界里,索引就是我们的导航仪和定位器。今天…

2026/8/1 7:22:58 阅读更多 →
MBA论文降AI率工具与技术全解析

MBA论文降AI率工具与技术全解析

1. MBA论文降AI率的核心挑战 2023年全球MBA论文查重数据显示,AI生成内容识别率已突破92%。我在指导MBA论文过程中发现,学生最常遇到的三大困境是:查重系统误判正常引用为AI生成(占比37%)、过度依赖AI辅助写作工具&…

2026/8/1 7:22:58 阅读更多 →
LaTeX公式排版进阶:多行公式大括号与编号的全面解决方案

LaTeX公式排版进阶:多行公式大括号与编号的全面解决方案

1. 项目概述:LaTeX公式编号的进阶掌控 在学术写作,尤其是理工科论文、技术报告和书籍撰写中,公式的排版与编号是体现专业性的关键细节。我们常常遇到这样的场景:一个复杂的物理推导或数学定理,需要用一个花括号&#x…

2026/8/1 7:22:58 阅读更多 →
PIV实验核心操作指南:从粒子选择到误差分析的全流程避坑

PIV实验核心操作指南:从粒子选择到误差分析的全流程避坑

1. 从“拍个照”到“算个流”:PIV实验的本质是什么如果你在实验室里,看到有人用激光器对着一个水箱或者风洞打出一片绿光,然后用高速相机对着那片光“咔咔”猛拍,那他十有八九在做粒子图像测速实验。听起来挺高大上,但…

2026/8/1 7:22:58 阅读更多 →
nVisual高速公路基础设施管理解决方案

nVisual高速公路基础设施管理解决方案

一、高速公路痛点难点背景介绍随着我国高速公路网的持续扩张与智慧交通建设的深入推进,高速公路机电系统作为保障路网正常运行的核心支撑,其规模与复杂度日益提升。机电系统涵盖监控、收费、通信、供配电等多个子系统,沿线分布着大量收费站机…

2026/8/1 7:22:58 阅读更多 →
AI Agent技术解析:从任务规划到自动化执行的智能体实践

AI Agent技术解析:从任务规划到自动化执行的智能体实践

1. 项目概述:当AI成为你的“数字替身”最近,Claude Cowork的一次重大更新,在AI圈子里激起了不小的水花。核心的吸引力在于一个极具想象力的场景:“合上电脑,它替你彻夜打工”。这听起来像科幻电影里的情节,…

2026/8/1 7:21:57 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →