编写函数时应注意的几点问题

关于函数的说明:

当函数返回值为非整型时,都必须有类型定义符和函数说明语句;*********例外:指针型函数必须有函数说明,即使是整型也不例外********

函数说明语句:即在main函数中调用函数前先说明:

函数的返回类型 函数名(形参类型说明);//形参类型说明可为空


当然,如果把自定义函数定义在main()函数之前,则不需要函数说明语句,

但此法不可取。


函数的传值和传址调用


传值调用:只是实参的复制值被传递给形参,实参与形参不再有任何其他联系。

在被调用函数中发生的一切并不影响函数调用时所使用的实参。

传值调用是一种单向传递,不能将形参的值返回给实参,即只能由调用函数向被调用函数传递值的方法。

****C语言中一般都用传值调用****


传址调用:为了实现双向传递,即通过形参将被调用函数中形参的变化传递回原调用处,以改变实参的值。为了达到这个目的,通常使用传址调用。(形参必须为指针类型,实参必须使用变量的地址)
main(){
void swap();
int a=10,b=20;
swap(&a,&b);
}
void swap(int *x, int *y)
{
   int temp=*x;
  *x=*y;
  *y=temp;
}
函数与数组
数组数据在函数调用中不能采用传值调用,而是采用传值调用,因为不带任何下标的数组名是一个指向该数组第一个元素的指针。
函数与指针
1、返回指针的函数(指针型函数)
定义:
类型定义符 *函数名(参数表)
{
   函数体
}
指针型函数必须有函数说明,即使是整型也不例外!
说明方法: 类型定义符 *指针型函数名();
2、指向函数的指针
与使用指向数组的起始地址的指针变量一样,使用指向函数起始地址的指针变量,也可以把函数作为实参传递给被调用函数。这是因为函数名也表示函数在内存区域的首地址,即函数被调用时的入口地址。
定义方法:
类型定义符 (*函数指针变量)();
由于函数是语句的集合,单独语句是无意义的,所以对函数指针不能进行指针的其他有关运算。
函数指针的作用是在函数之间传递函数,他是通过传址调用实现的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值