黑马程序员技术交流社区

标题: 数组名作为函数参数注意点 [打印本页]

作者: 勇猛的小黑    时间: 2015-11-11 20:28
标题: 数组名作为函数参数注意点
数组名作为函数参数传递的注意点。
        ①形参实参数组类型要一致
        ②形参和实参数组里边的个数可以不一致,编译通过。
                虽然不会报错,但是运行的结果会跟实际不符。
        ③形参的长度可以不写,因为实参的首地址会传递给形参,这时候完全按照实参的长度来。
                就算形参规定了长度,也没有鸟用,还是以实参为准。
        ④关于数组名作为函数的参数,数组的长度丢失问题。
                c语言里边所有的地址都是占8个字节。
                eg:
                void abd(int arr[]){
                        int len = sizeof(arr);
                        prinrf("%d",len);
                }
               
                int a[] = {1,2,3};
                int len = sizeof(a);
                printf("%d",len);//此时输出的是a数组所占的长度是3
                abd(a);//此时调用函数输出的长度就是8,因为a传递的是地址,打印的是地址的长度。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2