C语言函数的相关概念

1.形参和实参

        1.形参:也叫形式参数,自定义函数的()中的就是形式参数。因为只有在调用函数时才会开辟空间创造并储存形参,不调用函数则只是在形式上存在,不占用空间,因此叫做形式参数。

        2.实参:即真实传递给函数的参数。

        3.两者关系:形参和实参储存的内容是相同的,但是他们的地址是不同的,也就是说他们实际储存在两个空间,而不是同一个空间。因此即使在自定义函数改变了形参的值,实参的值也不会改变。


2.return语句

        如果想创造一个可以返回数据的函数,就要使用void类型以外的数据类型创造函数,并使用return语句返回数据,如:

        int add(int x,int y)

        {

                int z = x + y;

                return z;

        }

        int main()

        {

                int x = 1;

                int y = 2;

                int answer = add( x, y );

                return 0;

        }

        在这段函数中,return返回了int类型的z,并把它赋值给了answer。


3.数组传参

        1.当数组作为实参并传递给形参时,应输入数组名,如:

                int arr[] = {0};

                Print_arr(arr);

        其中的 arr 其实是类型为 int [] 的数组的数组名。

        2.在数组传参时,实际上传送的是数组的首元素的地址,因此在自定义函数中对应的创建数组或是指针都是可行的,并且两种做法都实际上传送了指针,因此实参和形参地址是相同,和其他数据类型的传参有本质上的区别。改变形参的同时实参也会改变。


4.嵌套调用与链式访问

1.嵌套使用:可以类比成数学的函数嵌套,如:

                y(g(f(x))),y(x) = x,g(x) = x^2,f(x) = x + 1;

        C函数的使用与其类似,如:

                int main()

                {

                printf("%d",add(x, y ))

                }

        在main函数中调用了printf函数。

2.链式访问:

        在上文中 printf("%d",add(x, y )); 就是在printf中访问了add函数,这就叫链式访问。


5.函数的申明与定义

        1.定义:

                                 

                像这种形式的代码就叫函数的申明。

        2.申明:

                                                                              ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​   ​​​​​​​

                像这样把函数定义在主函数后就会报错,这是因为代码是一行一行的向下执行的,把定义放在后面,程序就无法读取,这时就要声明函数。

                                

                像这样在主函数之前声明函数,就能是程序正常运行。

​​​​​​​完

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值