如何设置一个由参数传递给函数的int值并将其赋值给全局,以便我可以在函数外部使用?

Gre*_*ego 3 c variables function-pointers function global-variables

如何设置一个由参数传递给函数的int值并将其赋值给全局,以便我可以在函数外部使用?

例:

int assignValues(int valor_assign1, valor_assign2){
    valor_assign1 = 7;
    valor_assign2 = 3;
}

  main (){  
int valor1 = 0;
int valor2 = 0;

assignValues(valor1,valor2);
printf("%d,%d",valor1, valor2);
}
Run Code Online (Sandbox Code Playgroud)

输出实际上是0,0我希望它是7,3我该怎么做?我知道它是一个简单的问题,但我一直在尝试和搜索,但我找不到这样的东西= /提前谢谢.

Seb*_*olm 6

您可以将指向整数的指针传递给函数,而不是传递值.例如:

int assignValues(int *valor_assign1, int *valor_assign2){
    *valor_assign1 = 7;
    *valor_assign2 = 3;
}

main (){  
    int valor1 = 0;
    int valor2 = 0;

    assignValues(&valor1, &valor2);
    printf("%d,%d",valor1, valor2);
}
Run Code Online (Sandbox Code Playgroud)

但是,您可能希望阅读指针教程.