一维数组传参问题

简介: 一维数组传参问题

一维数组传参问题


1、数组传参,是要发生降维的,降维成指针。




2、为什么要降维?


原因是如果不降维,每一次数组传参的时候,因为传参传的是变量,所以要发生数组拷贝,如果是一个超级大的数组,那么函数调用的效率就会降低,所以要降维成指针。


3、所有的数组,传参都会降维成指针,降维成为指向其内部元素类型的指针!


4、在C语言当中,只要有形参实例化,必定形成临时拷贝!!!


5、由于传参之后的 int arr[ ]已经是一个指针了,所以[ ]里面的值已经是没有意义的,所以可写可省略。


6、C语言是面向过程的语言,函数是核心的概念,会经常定义与调用函数,传参,数组,数组传参,为了提高效率,所以要发生降维,降维成指针。



7、所以指针和数组访问元素的方式是通用的,假设它两不通用,程序员就需要不断从不同的代码片段处,进行习惯的切换,久而久之,人总是会犯错的,所以代码出错的概率就会大大地增加了。为了让程序员统一使用数组,减少出错的概率,数组和指针的访问方式就被设计成通用的。

相关文章
|
7月前
|
存储 C语言 C++
用数组名作函数参数
用数组名作函数参数
35 1
|
6月前
|
C语言
【C语言】:详解指针数组,数组指针及(二维)数组传参(2)
【C语言】:详解指针数组,数组指针及(二维)数组传参(2)
55 1
|
7月前
|
存储 编译器 C语言
一维数组名作函数参数
一维数组名作函数参数
48 0
|
7月前
|
存储 C语言
使用数组名作函数参数
使用数组名作函数参数
35 0
|
7月前
|
编译器 C语言
多维数组名作函数参数
多维数组名作函数参数
38 0
二维数组传参的本质
二维数组传参的本质
38 0
二维数组传参的本质
|
7月前
|
存储 并行计算 C++
指针详解(二级指针、指针数组和数组指针、字符指针、二维数组传参、函数指针变量)(二)
指针详解(二级指针、指针数组和数组指针、字符指针、二维数组传参、函数指针变量)(二)
一维数组传参的本质
一维数组传参的本质
49 0
|
存储 小程序 编译器
数组传参不理解?(数组传参的本质)
数组传参不理解?(数组传参的本质)
105 0
|
存储
指针数组、数组指针和传参的相关问题
指针数组、数组指针和传参的相关问题