【时时三省】(C语言基础)指针进阶3

2024-08-26 23:28

本文主要是介绍【时时三省】(C语言基础)指针进阶3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

山不在高,有仙则名。水不在深,有龙则灵。

                         ----CSDN 时时三省

一级指针的传参

示例:

86b7cdab8144411099f5b4b040ed9cd5.jpg

 这就是一个一级指针传参

思考:当一个函数的参数部分为一级指针的时候,函数能接受什么参数?

二级指针的传参

二级指针示例:

350f29d858214727bdbe79d10f8cde9c.jpg

pa是一级指针

ppa是二级指针

二级指针是专门用来存放一级指针变量的地址

二级指针示例: 21bc7e09ea6a43fd9533d4168ab14078.jpg

这里的**p2就是找的a的地址 所以如果打印a的话就可以直接打印20 因为上面**p2把它的结果改成了20

思考:当函数的参数为二级指针的时候,可以接受什么参数?

一级指针

int*p;-整形指针-指向整型的指针

char*pc;-字符指针-指向字符的指针

void*pv;-无类型的指针

二级指针

char**p;

int**p;

数组指针:指向数组的指针

int(*p)[4];

数组:

一维数组

二维数组

指针数组-存放指针的数组

函数指针

指向函数的指针

存放函数地址的指针

示例:

edf5c802ce4343eca0fbbdb44c3ed0b3.jpg

 这里打印的就是add函数的地址

&地址函数名-取到的就是函数的地址

但是如果直接printf(“%p\n”,Add)也是可以打印出来它的地址但是数组名和&数组名是不一样的 但是函数名==&函数名

f7e20d2927b94d7dae456b0dd7d33b75.jpg

 int 是函数的返回类型 pf指向的函数参数是(int,int)

如何调用这个函数指针

4cb33f0d989c4930a43a3a4679def803.jpg 解引用pf找到函数Add

然后我们要去调用它把(3,5)这样的参数传过去

 0541de445ba5419eacf100acaf47dea0.jpg

进行函数调用的时候这三种写法都可以 

这篇关于【时时三省】(C语言基础)指针进阶3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109984

相关文章

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm