从函数中改变变量值

时间:2015-07-02 02:34:15

标签: c

我正在用c编写一个程序,我需要在函数中更改变量的值。

我已尝试全局设置变量,但在函数

中无法识别

所以我尝试了以下内容: 变量是nobuttons:

readconfig(config2, &nobuttons);

void readconfig(FILE * config, int * buttons) {
    buttons = 5;
}

当我打印buttons的值时,它显示为0(它初始化为的值)

我做错了什么?

1 个答案:

答案 0 :(得分:7)

使用*buttons = 5;代替buttons = 5;

  

当我打印按钮的值时,它显示为0(它被初始化为的值)

button的值未初始化,但正如您所知,global variables默认情况下使用0初始化,因此您在打印时会得到0

buttons=5;表示现在持有地址buttons的{​​{1}}指针的地址,而5表示*buttons = 5;指针的内容更改为值{{1} }}。请记住,buttons指针点的内容现在将由5更新。