被调用函数是否可以从调用函数的范围中更改变量的值?
答案 0 :(得分:1)
请参阅C pointer
#include <stdio.h>
void funcA(int* a)
{
*a = 2;
}
void funcB(void)
{
int b = 1;
printf("-> %d\n", b); /* -> 1 */
funcA(&b);
printf("-> %d\n", b); /* -> 2 */
}
int main(void)
{
funcB();
return 0;
}
答案 1 :(得分:0)
这取决于你如何调用该函数。如果你使用按值调用方法然后它不能改变原始值,但如果你使用按引用调用(指针)方法,那么它可以改变提供的参数值代表你想要改变的相同变量。