c语言中在形参,c语言中形参可以是常量,变量,表达式

kodinid 10 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言中在形参问题,于是小编就整理了4个相关介绍c语言中在形参的解答,让我们一起看看吧。

  1. c函数中,形参可以是什么?
  2. C语言中形参可以是表达式吗?
  3. c语言实参类型可以是空么?
  4. 在C语言中,函数的形参只能用auto或register来说明吗?

c函数中,形参可以什么

形参全称形式参数位置是写在函数定义时函数名后面的括号中,比如

int max(int x, int y)

c语言中在形参,c语言中形参可以是常量,变量,表达式-第1张图片-安济编程网
图片来源网络,侵删)

{函数内容}

这个函数,形参就是函数名max后面括号里定义的x和y

而实参全称实际参数,是你在这个函数之外调用该函数的时候,函数名后的括号中的内容

c语言中在形参,c语言中形参可以是常量,变量,表达式-第2张图片-安济编程网
(图片来源网络,侵删)

比如

main()

{

c语言中在形参,c语言中形参可以是常量,变量,表达式-第3张图片-安济编程网
(图片来源网络,侵删)

int a=3,b=4;

int c=max(a,b);

C语言中形参可以是表达式吗?

不可以,因为在调用函数时需要对形参分配内存空间以用于接收实参传递的值,所以形参不可以是表达式,也不能在形参处对其赋值,比如intresult(inta=3)是不可以的。但是实参可以是表达式。

c语言实参类型可以是空么?

在C语言中,实参类型不能是空,因为C语言是一种强类型语言,要求在函数调用时必须提供参数,并且参数类型必须与函数声明中的形参类型匹配如果没有参数需要传递,可以使用空的括号`()`表示不提供参数。例如:
```c
void func() {
// 函数体
}
int main() {
func(); // 调用不带参数的函数
return 0;
}
```

在C语言中,函数的形参只能用auto或register来说明吗?

首先,第一个是不正确的。每个的具体说明如下:

第一,函数的形参不仅可以用auto或者register来说明,因为函数的形参还可以用const来定义一个其值不可变的常量形参,还可以在main函数前定义一个结构体,然后用结构体名来定义函数的形参。

第二,外部变量的隐含类别是外部存储类别,即extern。

第三,函数中的变量赋初值则每次调用都将会赋初值,如果想在第一次调用是赋一次初值,而在其后的调用过程中在第一次调用的基础上继续进行运算,则可以定义static静态变量并且直接赋予初值。

第四,在调用函数时,实参和对应的形参在类型上只需赋值兼容。因为在计算机内部,像字符型或者各类符号中文,法文,德文等等)都是以ASCII码值的形式存在,因此当对字符进行操作的时候同样可以通过四则运算来达成有关目的,只需知道对应的码值就可以了,所以只需赋值兼容都可以操作。

到此,以上就是小编对于c语言中在形参的问题就介绍到这了,希望介绍关于c语言中在形参的4点解答对大家有用。

标签: 形参 函数 可以