我想通过 malloc 方法制作一个整数数组。我希望这个数组是全局的,可以在我的程序中的任何地方使用。我将代码放在一个看起来像这样的头文件中:
static int *pieces;
然后我有一个函数,用我想要的数字填充它。该函数位于命名空间中,并且命名空间在其自己的 .cpp 文件中实现。但是,我将头文件导入 main.c 并从创建数组的命名空间调用函数,如:
pieces = malloc(sizeof(int) * 128);
但是当我尝试在 main 中访问数组中的数字时(在调用创建我的数组的函数之后),它崩溃并说没有初始化碎片。但是在我拥有的函数中,我可以创建它并很好地操纵其中的数字。我的印象是,通过使片段成为静态变量,只要任何地方的某个函数发生更改(或设置它),就会影响任何地方的变量的使用。基本上我想说的是为什么片段在main中出现未设置,即使我将它设置在我调用的函数中?