在C语言中,可以通过函数的参数来传递数值或者变量的地址,然后在函数内部对参数进行赋值。有两种方式可以对参数赋值:
#include <stdio.h>
void assignValue(int x) {
x = 10;
}
int main() {
int num = 5;
printf("Before assignment: %d\n", num);
assignValue(num);
printf("After assignment: %d\n", num);
return 0;
}
输出结果:
Before assignment: 5
After assignment: 5
在这个例子中,尽管在assignValue函数内部将参数x赋值为10,但是在main函数中打印参数num时,参数的值并没有改变。这是因为参数x是在assignValue函数中创建的一个副本,对副本的修改不会影响到原来的变量。
#include <stdio.h>
void assignValue(int* x) {
*x = 10;
}
int main() {
int num = 5;
printf("Before assignment: %d\n", num);
assignValue(&num);
printf("After assignment: %d\n", num);
return 0;
}
输出结果:
Before assignment: 5
After assignment: 10
在这个例子中,通过在assignValue函数的参数前加上*来表示参数是一个指针变量,然后在函数内部使用指针操作符*来访问指针指向的变量。在main函数中,通过&运算符获取变量num的地址,并将地址传递给函数assignValue。在函数内部,通过*x = 10将指针x指向的变量赋值为10,这样就可以修改原变量的值。