我正在用c编写一个程序,我需要在函数中更改变量的值。
我已尝试全局设置变量,但在函数
中无法识别所以我尝试了以下内容: 变量是nobuttons:
readconfig(config2, &nobuttons);
void readconfig(FILE * config, int * buttons) {
buttons = 5;
}
当我打印buttons
的值时,它显示为0
(它初始化为的值)
我做错了什么?
答案 0 :(得分:7)
使用*buttons = 5;
代替buttons = 5;
当我打印按钮的值时,它显示为0(它被初始化为的值)
button
的值未初始化,但正如您所知,global variables默认情况下使用0
初始化,因此您在打印时会得到0
。
buttons=5;
表示现在持有地址buttons
的{{1}}指针的地址,而5
表示*buttons = 5;
指针的内容更改为值{{1} }}。请记住,buttons
指针点的内容现在将由5
更新。