c - 如何设置通过参数传递给函数的 int 值并将其分配给全局,以便我可以在函数外部使用?

标签 c function variables global-variables function-pointers

如何将通过参数传递给函数的 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);
}

输出实际上是 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);
}

您可能想阅读 pointer tutorial , 然而。

关于c - 如何设置通过参数传递给函数的 int 值并将其分配给全局,以便我可以在函数外部使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637582/

相关文章:

python - 在python中获取2个字符之间的字符串

javascript - 鼠标移出时恢复功能

php - Jquery、ajax 和符号难题

windows - 批处理字符串操作中的进度条

c - 来自 fgets 的段错误

c - 如何使用预处理器缩短这些行?

python - 如何使用日志记录模块记录我的进程ID

有人可以帮我处理此消息吗?

c - 以下代码中运行时错误(其他)的原因是什么

c - 如何将 int 值转换为十六进制值并将其分配给变量?