函数的传递

来源:互联网 发布:互联网软件与服务 编辑:程序博客网 时间:2024/06/05 20:16

在c语言中,函数参数的传递分为两类,一是值传递,二是指针(地址)传递。

先来说说函数的值传递,当函数被调用时临时分配存储单元,即形参,形参是没有数值的,这时就需要把声明函数时输入的实参传给形参,这就是值传递,言简意赅的说就是

“从实参传给形参,单向传递”。其中有个特别的是数组元素作为函数参数,但是运行过程是一样的。

例如:

#include<stdio.h>

int main()

{int max(int x,int y);         //对max函数的声明

int a,b,c;

scanf("%d%d",&a,&b);

c=max(a,b);                 //调用max函数

printf("max is %d\n",c);

return 0;

}

int max(int x,int y)       //定义max函数

{int z;                    //定义临时变量z

z=x>y?x:y;

return(z);                //把z的值作为max函数的值带回main函数

}

再就是函数的指针传递了,就是函数名做函数参数是发生的传递类型,用数组名作函数实参时,向形参(数组名或指针变量)传递的是数组首元素的地址。

多维数组名也可以做函数形参和实参,这点和上述情况类似。在被调用函数中对形参数组定义时可以指定每一维的大小,也可以省略第一维的说明,例如:

int array[3][10];

int array[][10];

注意:1、用数组名作函数参数时,应该在主调用函数和被调用函数分别定义数组。

2、实参数组与形参数组类型必须一致,否则将出现错误。

3、形参数组可以不指定大小,在定义数组时在数组名后不说明数组大小。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃油了反胃想吐怎么办 微盘又不能用怎么办 人在无助的时候怎么办 当人迷茫的时候怎么办 当你没钱的时候怎么办 最无助的时候能怎么办 心累了怎么办的句子 人的心累了怎么办 心累了怎么办幽默回答 书法印章盖反了怎么办 手机看yy直播卡怎么办 电脑看yy直播卡怎么办 手机yy直播很卡怎么办 dnf打团网络卡怎么办 dnf打团网络冲突怎么办 苹果6s听筒声音小怎么办 手机传话器坏了怎么办 微信不能发语音怎么办 台式电脑声卡坏了怎么办 微信说话声音小怎么办 微信不能语音了怎么办 微信不能发语音怎么办? 苹果6话筒声音小怎么办 微信视频杂音大怎么办 微信语音有杂音怎么办 苹果手机音频坏了怎么办 苹果手机送话器坏了怎么办 苹果7听筒声音大怎么办 苹果6听筒声音小怎么办 苹果7电话声音小怎么办 苹果7plus声音小怎么办 苹果7通话音量小怎么办 苹果4s声音小怎么办 苹果4s没有声音怎么办 手机送话筒坏了怎么办 安卓手机声音小怎么办 微信说话没声音怎么办 小米6话筒声音小怎么办 小米4通话声音小怎么办 电容麦有电流声怎么办 苹果6说话声音小怎么办