数组指针作为形参(请问C++中,用数组作为函数形参和用指针作为函数形参,有什么不同)

2026-02-10 20:15:01 :0

数组指针作为形参(请问C++中,用数组作为函数形参和用指针作为函数形参,有什么不同)

各位老铁们好,相信很多人对数组指针作为形参都不是特别的了解,因此呢,今天就来为大家分享下关于数组指针作为形参以及请问C++中,用数组作为函数形参和用指针作为函数形参,有什么不同的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

请问C++中,用数组作为函数形参和用指针作为函数形参,有什么不同

还是有差别的 虽然大多数时候都可以相互用
最大的差别就是指针可以改变,可以通过指针改变指向内容的值,但数组名不行
举个例子:(分别作为形参)
int num, *p;
p = num;//此时p指向数组的第一个元素
我在主函数里调用两个函数
1 Sum(num);
2 Sum(p+2,10);
这就有区别了,因为num数组首地址它不能变化,但是此时p指向了数组的第三个元素,而且后面的那个10也是可以改变的,所以说用指针作为形参的时候要带一个int n 表示你要处理的数的个数,所以说用指针作为形参的话会给你一种假象,它的确是指向的数组的某个元素(这要看你的指针移动了,比如说p+2等等,数组名不能移动),但是它仅仅只是一个指针,你可以在调用的函数里用sizeof(num),sizeof(p)求它们的值,就知道为什么总是要加上一个int n了,因为如果不加的话函数就不知道你要操作的数的个数,另外别忘了传递数组和传递一般的int,double等类型是不一样的,传递数组传递的是原数组,函数的操作就改变了原来的数组,而传递一般的数只是传递它的拷贝,对原来的数没有影响;
还有什么不懂的继续交流~~~

C语言数组作为形参实参的一些疑惑

void fun(int arr, int n);

在函数定义的时候,形参int arr不是表示某个元素的值,而是告诉编译器第一个参数是一个数组指针,可以接收实参传过来的数组地址。

实际上以上定义等价于下面的定义。

1.数组里面带元素个数:

void fun(int arr, int n);

这里的常数可以是任意正整数,实际上编译器是会忽略,因为这里只要告诉编译器我接收的是一个数组指针,至于它有多少个元素不关心,因为实参也只是传个地址过来。元素个数由参数二控制。至于为什么要这么约定可以看下面补充说明。

2.void fun(int *arr, int n);

使用指针,这种方式和题目中的方式是最常用的方式,第一种最不常用。

补充说明(为什么数组作为函数参数是传地址,而不是传每个元素):

设想一下,有一个函数如下

int fun(int nums, int size)

它的参数一要处理1000多个元素的数组,如果是传值即每个元素,那在函数体内是不是就得再申请1000多个整数的内存,还需要把值从实参那里复制过来,这是非常耗时间的而且没有必要,因为在内存的某个块已经存放了这些数据。只要告诉放在哪个位置,你函数体去那里找就行了。这里说的就是传地址了,只需要传个数组首地址,然后告诉有多少个元素要处理就OK了。传地址只需要复制地址给形参,相对传每个元素快得多。

文章分享结束,数组指针作为形参和请问C++中,用数组作为函数形参和用指针作为函数形参,有什么不同的答案你都知道了吗?欢迎再次光临本站哦!

数组指针作为形参(请问C++中,用数组作为函数形参和用指针作为函数形参,有什么不同)

本文编辑:admin

更多文章:


python怎么(python怎么)

python怎么(python怎么)

“python怎么”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看python怎么(python怎么)!本文目录python怎么python 如何获取一个文件夹内包括子文件夹所有文件的名字和路径python怎么操作多维数组元

2025年6月29日 10:15

从dnf关服开始当神豪(DNF”十个战法九个豪,还有一个是神豪“这句话还适用么)

从dnf关服开始当神豪(DNF”十个战法九个豪,还有一个是神豪“这句话还适用么)

大家好,从dnf关服开始当神豪相信很多的网友都不是很明白,包括DNF”十个战法九个豪,还有一个是神豪“这句话还适用么也是一样,不过没有关系,接下来就来为大家分享关于从dnf关服开始当神豪和DNF”十个战法九个豪,还有一个是神豪“这句话还适用

2025年7月9日 05:45

method中文翻译(请问teaching approach和teaching method的区别)

method中文翻译(请问teaching approach和teaching method的区别)

各位老铁们,大家好,今天由我来为大家分享method中文翻译,以及请问teaching approach和teaching method的区别的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动

2025年12月5日 13:45

compoundbutton(Android上层怎么读写proc节点)

compoundbutton(Android上层怎么读写proc节点)

本篇文章给大家谈谈compoundbutton,以及Android上层怎么读写proc节点对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录Android上层怎么读写proc节点android studio switch控件怎么

2025年10月24日 03:45

dictate中文(史料类型有几种)

dictate中文(史料类型有几种)

本篇文章给大家谈谈dictate中文,以及史料类型有几种对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录史料类型有几种有dict的英语单词e

2026年1月13日 17:15

html5论坛源码(怎么把html5源码放到微信公共号上)

html5论坛源码(怎么把html5源码放到微信公共号上)

本篇文章给大家谈谈html5论坛源码,以及怎么把html5源码放到微信公共号上对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录怎么把html

2026年1月23日 06:30

kubernetes源码剖析pdf(client-go 源码分析)

kubernetes源码剖析pdf(client-go 源码分析)

本篇文章给大家谈谈kubernetes源码剖析pdf,以及client-go 源码分析对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录client-go 源码分析【Flink on k8s】高可用的关键机制及configmap

2025年12月3日 03:00

工商营业执照怎么网上年审(工商营业执照怎么网上年审)

工商营业执照怎么网上年审(工商营业执照怎么网上年审)

今天给各位分享工商营业执照怎么网上年审的知识,其中也会对工商营业执照怎么网上年审进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录工商营业执照怎么网上年审年检营业执照在网上怎么检工商营业执照怎么网上年审工商营业执

2026年8月5日 23:15

plc编程有前景吗(PLC前景如何)

plc编程有前景吗(PLC前景如何)

大家好,plc编程有前景吗相信很多的网友都不是很明白,包括PLC前景如何也是一样,不过没有关系,接下来就来为大家分享关于plc编程有前景吗和PLC前景如何的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录PLC前景

2026年1月26日 01:00

html的全局属性(HTML常用属性)

html的全局属性(HTML常用属性)

这篇文章给大家聊聊关于html的全局属性,以及HTML常用属性对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录HTML常用属性html标签都有哪些属性HTML title 属性html5新增的全局属性有哪几个描述其主要功能在h

2025年9月6日 19:00

设计模板设置为暗香扑面(计算机ppt怎么幻灯片模板为暗香扑鼻)

设计模板设置为暗香扑面(计算机ppt怎么幻灯片模板为暗香扑鼻)

这篇文章给大家聊聊关于设计模板设置为暗香扑面,以及计算机ppt怎么幻灯片模板为暗香扑鼻对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录计算机ppt怎么幻灯片模板为暗香扑鼻如何设置ppt文档设计主题为暗香扑面怎么用暗香扑面模板修

2026年7月29日 00:30

acesse会员登录中(什么是acesse)

acesse会员登录中(什么是acesse)

本篇文章给大家谈谈acesse会员登录中,以及什么是acesse对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录什么是acessehttps

2025年7月18日 16:30

malloc前面的是什么(malloc后面括号里面是什么)

malloc前面的是什么(malloc后面括号里面是什么)

今天给各位分享malloc后面括号里面是什么的知识,其中也会对malloc后面括号里面是什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录malloc后面括号里面是什么增加链表节点,用malloc函数开辟空间

2026年2月14日 12:30

java设置excel自动调整行高(excel自动调整行高)

java设置excel自动调整行高(excel自动调整行高)

本篇文章给大家谈谈java设置excel自动调整行高,以及excel自动调整行高对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录excel自

2026年3月20日 00:30

shield翻译(帮忙翻译几个简单的英文短语!急用!)

shield翻译(帮忙翻译几个简单的英文短语!急用!)

各位老铁们,大家好,今天由我来为大家分享shield翻译,以及帮忙翻译几个简单的英文短语!急用!的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录帮忙

2026年1月30日 08:45

公司注册网站流程(公司网上注册流程是如何的)

公司注册网站流程(公司网上注册流程是如何的)

今天给各位分享公司网上注册流程是如何的的知识,其中也会对公司网上注册流程是如何的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录公司网上注册流程是如何的网上注册公司的流程网上注册公司流程网上公司注册流程新公司网

2025年9月19日 15:00

arraylist和array区别(ArraryList,Array string[]的差别是什么)

arraylist和array区别(ArraryList,Array string[]的差别是什么)

“arraylist和array区别”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看arraylist和array区别(ArraryList,Array string[]的差别是什么)!本文目录ArraryList,Arra

2026年1月4日 01:00

量化python培训(Python学习,量化交易的应该怎么学)

量化python培训(Python学习,量化交易的应该怎么学)

各位老铁们好,相信很多人对量化python培训都不是特别的了解,因此呢,今天就来为大家分享下关于量化python培训以及Python学习,量化交易的应该怎么学的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录Pyt

2026年8月30日 15:30

一个完整的html代码架构(急求HTML格式完整网页框架代码)

一个完整的html代码架构(急求HTML格式完整网页框架代码)

大家好,关于一个完整的html代码架构很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于急求HTML格式完整网页框架代码的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2025年6月13日 14:15

数据库管理系统与操作系统(在层次结构上,操作系统处于数据库管理系统的上层吗)

数据库管理系统与操作系统(在层次结构上,操作系统处于数据库管理系统的上层吗)

“数据库管理系统与操作系统”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看数据库管理系统与操作系统(在层次结构上,操作系统处于数据库管理系统的上层吗)!本文目录在层次结构上,操作系统处于数据库管理系统的上层吗操作系统编译程序

2026年9月23日 04:00

近期文章

ilitate(imitate意思是)
2026-09-25 23:30:01
本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索