c 语言形参与实参定义
时间: 2024-10-02 12:04:23 浏览: 22
在C语言中,形参是指在函数声明或定义时指定的变量名,它们是在函数内部使用的局部变量,用于接收实参(实际传递给函数的值)。当你调用一个函数并提供一组值时,这些值就被赋给了相应的形参。
形参的定义通常在函数原型或函数体内的参数列表部分,例如:
```c
void say_hello(char name); // 函数声明,形参为char类型的name
int main() {
char greeting[] = "Hello, ";
say_hello(greeting); // 实参,将字符串"Hello, "传入say_hello函数
return 0;
}
// 函数定义,实现了形参say_hello的操作
void say_hello(char name) {
printf("%s", name);
}
```
在这个例子中,`say_hello`函数有一个形参`name`,而在`main`函数中,我们通过数组`greeting`作为实参传入。当`say_hello`被调用时,数组`greeting`的内容会“切片”成单个字符,逐个传给`name`。
相关问题
c 语言形参与实参重名
在C语言中,形参和实参可以重名。当函数被调用时,实参的值会被传递给形参,形参会在函数内部被当做变量来使用。如果形参和实参重名,那么在函数内部使用该变量时,会优先使用形参的值。例如:
```c
#include <stdio.h>
void func(int num) {
printf("形参num的值为:%d\n", num);
}
int main() {
int num = 10;
func(num); // 调用函数
return 0;
}
```
在上面的例子中,函数`func`的形参为`num`,在`main`函数中定义了一个变量`num`并将其值赋为10,然后调用`func`函数并将`num`作为实参传递给`func`函数。在`func`函数内部,使用`num`变量时会优先使用形参`num`的值,因此输出结果为“形参num的值为:10”。
c 语言形参与实参不兼容
在 C 语言中,形参与实参不兼容通常是由于两者类型不一致引起的。例如,函数声明时形参的类型为 int,但在调用该函数时传入了一个 float 类型的实参,这就会导致形参与实参不兼容。此时编译器会发出警告或错误信息。
形参与实参不兼容可能会导致函数运行时产生意想不到的错误,因此在编写代码时应该注意参数类型的匹配。如果确实需要使用不同类型的参数进行函数调用,可以使用类型转换来将实参转换为与形参兼容的类型。