在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: 5After 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: 5After assignment: 10在这个例子中,通过在assignValue函数的参数前加上*来表示参数是一个指针变量,然后在函数内部使用指针操作符*来访问指针指向的变量。在main函数中,通过&运算符获取变量num的地址,并将地址传递给函数assignValue。在函数内部,通过*x = 10将指针x指向的变量赋值为10,这样就可以修改原变量的值。

