扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
无参函数,是指在主调函数调用被调函数时,主调函数不向被调函数传递数据。无参函数一般用来执行特定的功能,可以有返回值,也可以没有返回值,但一般以没有返回值居多。
创新互联专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,四川雅安电信机房服务有保障!
有参函数,是指在主调函数调用被调函数时,主调函数通过参数向被调函数传递数据。在一般情况下,有参函数在执行被调函数时会得到一个值并返回给主调函数使用。
扩展资料
1、定义有参函数的一般形式为:
函数类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, …, 参数类型n 参数名n)
{
声明部分
语句部分
}
2、有参函数使用注意事项:
(1)在定义函数时,必须要指定形参的类型。实参与形参的个数必须相等,若不相等就是语法错误。此外,实参与形参的类型要相同或赋值兼容。最好是相同,这样不容易出错。如果不相同则实参按形参的类型转化,然后再送给形参。
(2)在传递数据时,实参与形参是按顺序一一对应的。
好问题。
c语言中的函数和数学中的函数不一样。
没有参数的函数,有些用了全局变量,所以还是有参数的,意义就在于分解代码,做成一个函数都要取个名字,从函数就可以知道一段代码的主要功能了。
和写参数名的情况是一样的。 调用时按照参数列表类型,传入对应个数 类型匹配的实参就行。
声明的时候,可以省略形参的参数名,而只保留类型。
即 声明int fun(int , int);
和声明 int fun(int a, int b);
效果是完全一样的 。 调用的时候 都是传入两个整型参数即可。
函数定义时在函数名后的圆括号的参数叫“形式参数”,简称“形参”;调用该函数时在函数名后的圆括号内的参数叫“实际参数”,简称“实参”。
int
Add(
int
num1
,
int
num2)
/*
num1和num2为形参
*/
{
return
num1
+
num2;
}
void
main()
{
int
a,
b,
value
a
=
1;
b
=
3;
value
=
Add
(a,
b);
/*
a和b为实参
*/
printf("%d
+
%d
=
%d\n",
a,
b,
value);
}
在C语言中,所谓的“输入参数”就是指形参;当形参使用引用传递时,输入参数也可以当作输出参数。
GetNumber()没有形参,也就没有输入参数。至于该函数体内部的变量c及输入语句,只能算是该函数的局部变量及赋值语句而已。简单来说,函数有没有输入参数,只要看函数名的圆括号内是否有参数即可。
定义的时候确实可以不写形参名字。
你如果学了编译原理的话可以知道函数间是如何传参的(大多语言是通过栈),
c语言是第n个参数先压栈,再压第n-1个,。。。再压第一个。最后修改栈顶指针add esp,8。
当进入函数时都是
push ebp
mov ebp,esp
所以可以这么实现
//VS2010环境
void f(int,int)
{
int a,b;
__asm //这是嵌入汇编关键字,在VC6.0嵌入汇编好像是asm
{
mov eax,[ebp+8]
mov a,eax ;第一个参数
mov eax,[ebp+12]
mov b,eax ;第二个参数
}
printf("%d\t%d\n",a,b);
}
void main()
{
f(7,3);
}
自己写的函数可以自己决定用不用参数,但是你在调用某个函数时,就得看看这个函数是否要求传递参数,必须格式一致才能调用~~
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流