任何人都可以告诉如何在 C 中访问用户函数中的全局变量(在我的示例中它是“used”数组)(在我的示例中它是“checkData”)?它与 C++ 类似的代码有效(但我使用了“used = new bool[size];”而不是“boolused[size];”)
#include <stdio.h>
#define true 1
#define false 0
typedef int bool;
bool *used;
int i;
void checkData(int i);
int main ()
{
int size = 10;
bool used[size];
for (i = 0; i < size; i++)
used[i] = false;
for (i = 0; i < size; i++)
checkData(i);
return 0;
}
void checkData(int i) {
printf("%d - %d\n", i, used[i]);
}
最佳答案
变量used
是一个重复的名称。在 main
中,访问本地used
。但在 checkData
中使用了全局实例,但会导致错误,因为您取消引用 NULL
指针(静态变量初始化为 0
)。
关于C - 无法访问用户函数中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582545/