short int PC = 0;
int main() {
foo(&PC) ;
}
void foo(short int PC) {
PC++;
}
如何成功更新PC的全局变量?
注意:必须将PC作为参数传递,并且需要通过参数修改全局变量。
正如您所知,我是C的新手并且正在尝试了解*
和&
之间的区别。任何帮助将不胜感激。
答案 0 :(得分:3)
你只需要将参数作为指针:
short int PC = 0;
void foo(short int *pc) {
(*pc)++;
}
int main() {
foo(&PC) ;
}
我将foo()
移到main()
之上,因为在C中你必须在使用它们之前声明它们。如果您愿意,可以通过在顶部说void foo();
并在下面留下定义来转发声明。