【发布时间】:2014-03-21 05:49:10
【问题描述】:
我正在尝试填充全局变量,但它似乎不起作用。这是我的代码。
typedef struct Global_ {
char values[3][40]
}Global_t;
//function file
GBL_PTR = calloc (1, sizeof (Global_t));
memset(GBL_PTR.values,'\0',sizeof(GBL_PTR.values));
//opening a file and reading it
sscanf(linebuf, "List of values %s , %s \n",
GBL_PTR.values[0],
GBL_PTR.values[1]);
printf("Why dont i see these logs %s",GBM_PTR.values[1]);
我没有看到任何崩溃,只是没有日志。编译很好。我是 C 的新手,有人可以让我知道我在这里缺少什么。主要思想是从我的函数中访问一个全局变量。我该怎么做?
【问题讨论】:
-
能否指定GBL_PTR的声明?
-
没有崩溃;编译得很好;那有什么问题呢?另外,全局变量在哪里,初始化它们的函数在哪里(或者它们的全局初始化在哪里)?
-
如果它是一个指针,您无法访问 GBL_PTR.values .. 您的程序是否正在编译? .. 它应该是 GBL_PTR->values
-
你初始化
GBL_PTR引用的数据;您打印由GBM_PTR引用的数据。你期待什么?如果这不是您遇到问题的确切代码,我们应该如何帮助您调试它? -
请给我们代码,我们可以自己编译而无需修改任何东西。