什么是函数的形参,什么是函数的实参,在函数内部修改形参在那种情况下会影响实参
时间: 2024-04-28 11:27:00 浏览: 167
函数的形参是函数定义中用来接收外部传入参数值的变量,它们只存在于函数内部,函数执行完毕后就会被销毁。形参可以看作是函数的输入。
函数的实参是在函数调用时传递给函数的参数值,实参可以是任何合法的表达式,包括常量、变量、表达式等。实参可以看作是函数的输入数据。
在函数内部修改形参的值,只会影响形参本身的值,不会影响实参的值,因为形参只是实参的一份拷贝。但是如果形参是指向某个对象的指针或引用类型,且在函数内部修改了该对象的值,那么实参指向的对象的值也会被修改,因为形参和实参指向的是同一个对象。
相关问题
c++1.用数组作为函数形参实现函数,函数调用时实参为数组。 2.用数组作为函数形参实现函数,函数调用时实参为指针。 3.用指针作为函数形参实现函数,函数调用时实参为数组。 用指针作为函数形参实现函数,函数调用时实参为指针。
1. 用数组作为函数形参实现函数,函数调用时实参为数组:
```c
void func(int arr[], int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
return 0;
}
```
2. 用数组作为函数形参实现函数,函数调用时实参为指针:
```c
void func(int *arr, int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
return 0;
}
```
3. 用指针作为函数形参实现函数,函数调用时实参为数组:
```c
void func(int *arr, int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(&arr[0], 5);
return 0;
}
```
4. 用指针作为函数形参实现函数,函数调用时实参为指针:
```c
void func(int *arr, int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
return 0;
}
```
什么是函数形参和实参
函数形参是在函数定义时定义的变量,用于接收调用该函数时传入的参数,它们的作用域仅限于该函数内部。而函数实参则是在调用函数时传递给函数的值或变量,实参的值会被赋给对应的形参,从而在函数内部使用。
举个例子,以下是一个函数定义:
```
void foo(int x, float y) {
// 函数体
}
```
在这个例子中,x和y就是函数的形参,它们分别代表一个整数和一个浮点数。当该函数被调用时,需要传递两个实参,例如:
```
foo(10, 3.14);
```
这里10和3.14就是函数的实参,它们分别对应函数定义中的x和y,即x被赋值为10,y被赋值为3.14。
阅读全文