我正在尝试初始化函数内的全局指针。这是一个显示相同问题的示例:
#include <stdlib.h>
#include <assert.h>
int* global = NULL;
void alloc(int* p) {
p = (int*)malloc(sizeof(int));
*p = 42;
}
int main() {
alloc(global);
assert(global);
}
alloc
global
的来电仍然是NULL
。如果我没有将global
传递给函数,只是使用它,因为它是全局的。
我宁愿以这种方式保持函数调用以使其更清晰。有没有办法实现这个目标?感谢。
顺便说一下。我正在使用gcc 6.3.1