黑马程序员技术交流社区

标题: 数组和函数之间的关系 [打印本页]

作者: 赵云18235802528    时间: 2015-6-25 06:56
标题: 数组和函数之间的关系
1、数组和函数之间的关系

     1)数组元素作为函数的实参

        int a[4]={1,2,3,4};

        //比较数组第一个元素和最后一个元素,它们的大小关系
        max(a[0],a[3]);  //数组元素作为函数的实参

        实质:

        把数组元素的值取出来,赋值给函数形参(值传递)

   
     2)数组名作为函数的实参

        //用数组名作为函数的实参,函数的形参也必须是一个数组

        //写一个函数实现,把数组的最后一个元素设置0


        void change(int b[4]);

        change(a);  //a数组名是常量 地址
                    //代表的一块内存空间

        int b[4];   //b存放的时数组b的首地址

        实质:b = a; //b存放的a的地址 (地址传递)

      3)数组名作为函数的参数的注意事项

         1)用一维数组名作为函数的形式参数,可以不指定数组长度

         int a[3]={1,2,3};
         change(a);

         void change(int a[]);

         2)函数的形参数组类型要和实参数组类型要一直

         int a[3]={1,2,3};
         change(a);

         void change(float a[])  (X)

         3) 实参的长度可以和形参数组长度不一致

         int a[3]={1,2,3};
         change(a);

         void change(int a[2]);  //可以的
   
         4)数组名作为函数的参数,会丢失数组的长度信息
作者: 小小羊    时间: 2015-6-25 12:51
不错啊。
作者: mazhichao    时间: 2015-6-25 13:26
支持下~
作者: 沙睿    时间: 2015-6-25 17:41
讲的很清晰,学习了...
作者: XiaoBaoMi    时间: 2015-6-25 18:33
楼主说的不错学习了




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