short int PC = 0;
int main() {
foo(&PC) ;
}
void foo(short int PC) {
PC++;
}如何成功地更新PC的全局变量?
备注:PC必须作为参数传递,全局变量需要通过参数进行修改。
如您所知,我对C很陌生,并试图理解*和&之间的区别。任何帮助都将不胜感激。
发布于 2016-09-27 04:03:27
您只需将该参数作为指针:
short int PC = 0;
void foo(short int *pc) {
(*pc)++;
}
int main() {
foo(&PC) ;
}我将foo()移到main()之上,因为在C语言中,您必须在使用它们之前声明它们。如果您愿意的话,您可以将其转发,在顶部加上void foo();,然后将定义留在下面。
https://stackoverflow.com/questions/39715740
复制相似问题