从零开始的c语言日记day38——数组参数,指针参数

  • 一维数组传参

要把数组或者指针传给函数,那函数参数如何设计?

上面各写法有问题嘛?

第一个没问题

第二个没问题

第三个没问题

第四个没问题

第五个解析:定义int*arr2[20]为20个int*类型的数组,test2之后用的是arr2,arr2是数组名就是首元素地址,首元素是int*类型的是int*类型的,所以二级指针就是用来存放一级指针变量的地址,所以没问题。

  1. &是地址所以可以传给指针
  2. Ptr是一级指针变量所以可以传给函数
  3. Arr是数组名数组名是首元素地址所以可以

*p指向的是arr{10}的首元素地址也就是1的地址,15行把元素个数算出来。16行p为指针所以函数也需要用指针来接收,

  • 二级指针传参

n为10,再把n的地址放到*p里,再把p*放到二级指针变量**pp里。那么test(pp)里传到函数int**ptr也没问题。直接传test(&p)也可以因为函数里就是的二级指针就是存一级指针的。

  • 函数指针

函数指针——指向函数的指针就是函数指针

数组指针——指向数组的指针就是数组指针

程序结果打印出来的函数地址,所以函数也有地址。

函数名和取函数是一样的都拿到的是函数的地址。

如何存函数的地址呢?以上程序为例

Int(*pf)(int,int)= &add;

(*Pf)是指针,指向函数()函数的参数有那些(int,int)函数的返回类型为int。

(int,int)里的x和y写不写都可以这时候*pf里就是函数的地址

Int ret = (*pf)(2,3);

如果要调用函数使用对pf进行解引用(*pf)是不是就可以拿到函数了那函数需要传的参数设置一下为(2,3),再使用int ret来接函数的返回值。此时打印ret应该为5.

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

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

相关文章

【Java学习笔记】73 - 正则表达式

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter27/src/com/yinhai/regexp 一、引入正则表达式 1.提取文章中所有的英文单词 2.提取文章中所有的数字 3.提取文章中所有的英文单词和数字 4.提取百度热榜标题 正则表达式是处理文本的利器…

Python之内置函数和模块

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

贪心算法策略实现

贪心算法 贪心算法:基于某种情况进行一个排序。 贪心算法得到的是优良解,而非全局最优解。需要证明局部最优解 全局最优解 经典贪心算法 —— 会议问题 对于这个问题 ,我们提出贪心策略: 策略1:按照会议的持续时间长…

高效办公:如何使用视频剪辑工具批量转码,mp4视频到TS视频

在视频处理过程中,转码是一项常见的任务。将MP4视频转换为TS视频可以提供许多优势,包括更好的兼容性、更广泛的设备和平台支持以及更高的视频质量。然而,手动转码大量视频文件可能会非常耗时且效率低下。为了实现高效办公,可以使用…

RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(基于SpringBoot)

文章目录 前言一、WorkQueues模型消息发送消息接收能者多劳 二、交换机类型1.Fanout交换机消息发送消息接收 2.Direct交换机消息接收消息发送 3.Topic交换机消息发送消息接收 三、编程式声明队列和交换机fanout示例direct示例基于注解 四、消息转换器总结 前言 WorkQueues模型…

亚马逊云科技 re:Invent 2023:引领科技前沿,探索未来云计算之窗

文章目录 一、前言二、什么是亚马逊云科技 re:Invent?三、亚马逊云科技 re:Invent 2023 将于何时何地举行四、亚马逊云科技 re:Invent 2023 有什么内容?4.1 亚马逊云科技 re:Invent 2023 主题演讲4.2 亚马逊云科技行业专家探实战 五、更多亚马逊云科技活…

人工智能原理复习--知识表示(二)

文章目录 上一篇产生式表示法推理方式 结构化表示语义网络语义网络表示知识的方法和步骤应用题目 框架表示法下一篇 上一篇 人工智能原理复习–知识表示(一) 产生式表示法 把推理和行为的过程用产生式规则表示,所以又称基于规则的系统。 产…

哈希_快乐数

//编写一个算法来判断一个数 n 是不是快乐数。 // // 「快乐数」 定义为: // // // 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 // 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 // 如果…

LTD253次升级 | 官网“活动“增报名 • 名片展示个人简介 • 合伙人设置个性邀请码

1、活动类型支持报名; 2、产品详情页支持房产类型产品的地图显示; 3、官微名片独立版支持个人简介; 4、多语言系统支持挪威语; 5、极速官微首页提速、合伙人页面优化; 6、 已知问题优化与修复; 01网站编辑器…

陪诊系统:基于自然语言处理的患者沟通创新

医疗领域的数字化转型正日益引入创新技术,其中基于自然语言处理(NLP)的陪诊系统成为提升患者沟通的一项关键技术。本文将深入研究这一领域,介绍陪诊系统如何借助NLP实现患者沟通的创新,并提供一个简单的Python代码示例…

模拟算法【1】

文章目录 😀1576. 替换所有的问号😆题目🤩算法原理🙂代码实现 😊495.提莫攻击🫠题目😉算法原理🤗代码实现 模拟算法 通俗的来说,模拟算法就是依葫芦画瓢,将题…

java科学计数法表示数值

Background 大多数计算器及计算机程序用科学记数法显示非常大和非常小的结果;但很多时候,我们需要做一个统一,要么全部以科学计数法输出,要么就全部显示为普通计数。注意:这里对大于等于1的数据做了特殊处理&#xff0…