我认为上面提到的一些只是同义词,但是哪些?如果我错了,还要纠正我:在一个函数中可以说主函数,括号之间的数据是参数/参数吗?
答案 0 :(得分:1)
将值传递给函数有两个观点:
函数本身在编译时有一个参数(或形式参数)。 I. e。 ...
void f( int a )
{
…
}
...具有(正式)参数a
。
在运行时调用该函数时,有一个a
表示的值。这是参数(实际参数):
f( 5 )
这里5
是参数(实际参数)。
因此调用将参数/实际参数映射到形式参数。
在某些情况下,您可以将可变数量的参数传递给函数。这是,如果函数有一个打开的参数列表:
f( int a, ... )
在许多情况下,第一个参数是需要其他参数的格式字符串。 I. e。:
printf( "%d items", 5 );
在这种情况下,"%d items"
是格式字符串(格式参数),它告诉函数在" items"
之前插入第二个参数的字符串表示。
但是可变数量的参数不限制格式化字符串。 I. e。以下示例都是(正式)有效的调用:
f( int a, ... ) { … }
f( 5 );
f( 6, 2, 3 )
我认为,伪参数/参数具有不同的含义。它可以是函数内部未使用的参数(因此也是调用中的参数)。它可以是一个可选参数,如果调用中没有参数,则获取默认值。 (这个概念在C中不存在,但在其他编程语言中不存在。)
答案 1 :(得分:0)
参数在函数定义中定义。它是函数执行期间参数的占位符。
void printMessage(string message){ //message is a parameter.
}
参数是调用函数时传递给函数的值。
printMessage("Hello World"); //"Hello World" is an argument.
虽然有人认为参数是一个参数。