void fun( int s, int a[41] ) 41是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/30 04:42:45
我能理解void fun( int s, int a[] )
我只要给第2个参数传指针类型,数组元素地址,或者数组名
void fun( int s, int a[41] )
中41是什么意思?我应该传怎么样的实参才合法,是不是长度不能大于41的数组?
我在想按值传递的话,函数在建立前,会给形式参数分配内存,那对于这里的第2个形式参数a[41],系统会分配内存,这里是按地址传递的,所以觉得系统不会给它分配内存,但是如果不分配内存,这里写着41有什么意义?
高手指点下.谢谢

void fun( int s, int a[41] )

他的意思是要求你传递定常数组给他,当然你要知道数组就是指针,所以传指针也是可以的。

一般已经没有人这样用了,他的意思就是要求你,传递一个大小是41的数组,相当于这样

void fun(int s , int* a , int aLen = 41 )

41是数组大小,注意下标是0~40
以new int[41]为实参
以int a[]为形参
可以进行传址调用

在C++中,初始化一个数组必须有大小,才能开辟相应的内存空间

41会被编译器自动忽略,只是给你看看而已的,没有什么效果,你写成多少都无所谓。