C 如何设置参数传递给函数的int值并将其分配给global,以便在函数外部使用?
如何设置参数传递给函数的int值并将其分配给global,以便在函数外部使用 例如:C 如何设置参数传递给函数的int值并将其分配给global,以便在函数外部使用?,c,function,variables,global-variables,function-pointers,C,Function,Variables,Global Variables,Function Pointers,如何设置参数传递给函数的int值并将其分配给global,以便在函数外部使用 例如: 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);
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);
}
输出实际上是0,0,我希望它是7,3,我该怎么做?
我知道这是一个简单的问题,但我一直在尝试和寻找,但我找不到任何类似的=/
提前谢谢 传递指针:
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);
}
您可以将指向整数的指针传递到函数中,而不是传递值。例如:
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);
}
但是,您可能需要读取。您可以传递指向变量的指针:
void assignvalues(int *v1, int *v2) {
*v1 = 7;
*v2 = 3;
}
但是,在您的代码片段中,valor1
和valor2
不是全局的。它们位于main
本地。如果它们是全局的,您可以只分配给它们
#include <stdio.h>
int valor1; /* global */
int valor2; /* variables */
int assignvalues(void) {
valor1 = 7;
valor2 = 3;
}
int main(void) {
printf("%d, %d\n", valor1, valor2);
}
#包括
int valor1;/*全球的*/
int valor2;/*变数*/
int赋值(void){
valor1=7;
valor2=3;
}
内部主(空){
printf(“%d,%d\n”,valor1,valor2);
}
注意:不赞成使用globals。您使用局部变量的情况要好得多。非常感谢,非常有用。这正是我需要的!:)是的,调用函数时我缺少的是符号,但它是正确的,非常感谢!USSR668 138:如果答案解决了你的问题,请考虑投票并将答案标记为“接受”。