嵌入式——C语言:指针③

一、函数指针和指针函数

(一)指针函数:是函数,函数的返回值是指针

        1.不能返回局部变量的值

        2.指针函数返回的地址可以作为下一个函数调用的参数

(二)函数指针:是指针,指针指向一个函数

        int(*fun)(int  ,int )

二、二级指针

        二级指针是指向一级指针变量的指针

        int      **q;(定义一个指针变量q,占8个字节空间,指向一个指针变量空间,即指向一级指针变量的指针)

(一)使用场景

        1.函数体内部想修改外部指针变量的值时,需要传指针变量的地址

        2.指针数组传参,数组的数组名是指向数组第一个元素的指针,第一个元素是指针,所以数组名为指向指针的指针即二级指针

三、指针数组和数组指针

(一)指针数组:是数组,数组的每个元素是指针

        1.存放字符串使用字符型数组,操作字符串使用指针

        2.存放字符串数组使用二维字符串数组,操作字符串数组使用指针数组

(二)数组指针:是指针,指针指向整个数组

        对一维数组数组名&:值不变,类型升级为指向整个数组的指针。

       对指针数组*:值不变,类型降级为指向数组第一个元素的指针。

        int        a[5] = {1, 2, 3, 4, 5};

        a == &a[0]

        a == int *  

1.注意:两种情况不能理解为int*

        1.1sizeof

        1.2&:&int*->int**,&a->int(*p)[5]

2.数组指针使用场景:

        2.1一维数组和指针关系:数组的数组名是指向数组第一个元素的指针常量

        2.2二维数组和指针的关系:数组的数组名是指向数组第一行元素的数组指针。

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

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

相关文章

OpenCV(05)直方图均衡化,模板匹配,霍夫变换,图像亮度变换,形态学变换

【OpenCV(01)】基本图像操作、绘制,读取视频 【OpenCV(02)】图像颜色处理,灰度化,二值化,仿射变换 【OpenCV(03)】插值方法,边缘填充&#xff0…

常见的未授权访问漏洞靶场-练习教程

一.Redis未授权访问漏洞1.首先需要准备一个vps和vulhub靶场,然后进入目录。命令:进入靶场目录:cd /etc/vulhub-master/redis/4-unacc 启动靶场:docker-compose up -d2.然后启动我们kali,下载redis服务然后连接redis,并执行命令。…

EAP(基于事件的异步编程模式)

📜 1. 核心思想 📌 事件驱动解耦 异步操作通过事件通知结果,调用者无需阻塞线程,通过事件处理器响应操作完成、错误或取消。 📌 线程池与UI线程协同 耗时操作在后台线程池执行,完成后通过 SynchronizationC…

【三桥君】如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用

​你好,我是 ✨三桥君✨ 📌本文介绍📌 >> 一、引言 在智能体(Agent)领域,MCP、A2A、ANP等协议已经规范了Agent与工具、Agent与Agent之间的通信,但Agent与用户之间的交互一直缺乏标准化。…

面试官:详细说说Kafka rebalance 的策略以及具体过程

hello啊,各位观众姥爷们!!!本baby今天又来报道了!哈哈哈哈哈嗝🐶 程序员各种工具大全 Kafka 的 Rebalance(再平衡) 是消费者组(Consumer Group)在消费者数量…

C++入门自学Day2-- c++类与对象(初识)

一、面向对象和面向过程1、什么是面向过程(Process-Oriented Programming, POP)📌 定义面向过程强调的是 过程(过程函数),即:按照步骤(流程)组织代码。程序结构 数据结构…

DAO组织智能合约开发:从理论到实践

目录 DAO组织智能合约开发:从理论到实践 1. DAO概述:去中心化自治组织 2. DAO核心组件设计 2.1 架构设计 2.2 关键智能合约 3. 治理代币实现 3.1 ERC20扩展合约 4. 提案管理系统实现 4.1 提案状态机 4.2 提案合约实现 5. DAO核心合约实现 5.1 DAO合约架构 5.2 提案类型扩展 6…

Ubuntu系统完整配置教程

Ubuntu系统完整配置教程 目录 配置镜像源安装网络服务虚拟机中安装CUDAPython开发环境配置Java开发环境配置 1. 配置镜像源 1.1 备份原始源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup1.2 编辑源文件 sudo nano /etc/apt/sources.list1.3 各大镜像源…

【mysql慢查询】

mysql慢查询慢查询慢查询日志配置慢查询 慢查询是指执行时间超过指定阈值的SQL语句。在MySQL中,默认情况下执行时间超过10秒的查询会被认为是慢查询,但这个阈值可以根据需要进行调整。 慢查询日志配置 -- 查看当前慢查询配置 SHOW VARIABLES LIKE slo…

django 按照外键排序

在Django中,使用外键(ForeignKey)进行排序是一种常见的需求,特别是在处理数据库关系时,如用户和订单之间的关系(一个用户有多个订单)。下面是如何在使用Django ORM时进行基于外键的排序。 定义模…

JAVA_EIGHTEEN_特殊文件

目录 Properties属性文件 XML的作用和应用场景 日志技术 Properties属性文件 约束:只能是键值对 键不能重复 文件后缀一般是.properties结尾的 是一个Map集合(键值对集合) 核心作用:Properties是用来代表属性文件的&#…

第二十二节 MATLAB转置向量、MATLAB追加向量

MATLAB中转置操作能够将一个行向量改变成一个列向量,反之亦然。MATLAB中转置操作使用一个单引号()来表示。详细例子在MATLAB中建立一个脚本文件,输入下述代码:r [ 1 2 3 4 ]; tr r; v [1;2;3;4]; tv v; disp(tr); …

window显示驱动开发—Direct3D 11 视频设备驱动程序接口 (DDI)

这些设备驱动程序接口 (DDI) 是新的或针对Windows 8更新的:CalcPrivateCryptoSessionSizeCalcPrivateAuthenticatedChannelSizeCalcPrivateVideoDecoderOutputViewSizeCalcPrivateVideoDecoderSizeCalcPrivateVideoProcessorEnumSizeCalcPrivateVideoProcessorInput…

新手向:用AI破解数据质量难题

用AI破解数据质量难题:从零开始的完整指南数据质量的重要性及其影响数据质量是数据分析、机器学习和业务流程中不可忽视的核心问题。低质量数据会导致一系列严重后果:错误决策:基于不准确或缺失的数据可能导致管理层做出错误判断。例如&#…

用 Python 获取电脑电池电量的各种案例

更多内容请见: python3案例和总结-专栏介绍和目录 文章目录 方法一:使用 `psutil` 库(跨平台) 方法二:Windows 专用方法(使用 `win32api`) 方法三:macOS 专用方法 方法四:Linux 专用方法 方法五:跨平台统一方法 Python 程序案例:检测电池电量并在低于20%时关机 以下…

Linux->自定义shell

目录 引入: 1:shell是什么? 2:命令行提示符是什么? 3:xshell是什么? 一:命令行提示符 二: 获取用户输入 三:分割字符串 四:执行命令 五…

js中出现-8.881784197001252e-16这种(一个极其接近 0 的极小负数)的浮点数精度计数异常问题解决思路

你的代码中出现 -8.881784197001252e-16(一个极其接近 0 的极小负数)的原因是 JavaScript 浮点数精度问题。具体来说,当你反复进行 加法 和 减法 时,由于浮点数在计算机中的存储方式,可能会引入微小的误差。一、问题情…

超详细的 RustDesk 自建中继节点教程

厌倦了商业远程控制软件的会员限制和功能阉割?渴望拥有一个自由掌控、安全可靠的远程连接方案?开源软件 RustDesk 正是你需要的答案! 相信从事互联网工作的你,一定对向日葵和ToDesk等商业远程控制软件并不陌生。然而,…

Spring Boot 2整合Druid的两种方式

一、自定义整合Druid&#xff08;非Starter方式&#xff09;适用于需要完全手动控制配置的场景添加依赖&#xff08;pom.xml&#xff09;<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</ve…

鸿蒙Next-开发版本升级,API升级(例如API12升API16)

鸿蒙更新换代很快的&#xff0c;2025年1月&#xff0c;截至4月就有 DevEco Studio 5.0.2 Release 升级到 DevEco Studio 5.0.3 Release 升级到 DevEco Studio 5.0.4 Release&#xff0c;三次大版本更新。 作者也想在年前创建的项目中体验一下新版本的特性&#xff0c;于是查看了…