c语言

c语言如何给参数赋值

小亿
201
2023-12-02 00:11:19
栏目: 编程语言

在C语言中,可以通过函数的参数来传递数值或者变量的地址,然后在函数内部对参数进行赋值。有两种方式可以对参数赋值:

  1. 传递数值:直接将数值作为参数传递给函数,在函数内部对参数进行修改。
#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函数中创建的一个副本,对副本的修改不会影响到原来的变量。

  1. 传递地址:通过传递变量的地址给函数的参数,可以在函数内部通过指针来修改原变量的值。
#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,这样就可以修改原变量的值。

0
看了该问题的人还看了