在函数内部分配全局指针

时间:2017-04-26 10:59:58

标签: c memory-management

我正在尝试初始化函数内的全局指针。这是一个显示相同问题的示例:

#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

0 个答案:

没有答案