被调用函数可以更改调用函数范围内的变量值吗?
问问题
92 次
2 回答
1
参见C 指针
#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;
}
于 2016-01-08T12:30:03.157 回答
0
好吧,这取决于您如何调用该函数。如果您使用按值调用方法,则它不能更改原始值,但如果您使用按引用(指针)方法调用,那么它可以更改提供的值,参数代表您想要更改的相同变量。
于 2016-01-08T12:45:23.983 回答