Я хотел бы сделать массив целых чисел через метод malloc. Я хочу, чтобы этот массив был глобальным и использовался в моей программе. Я помещаю код в заголовочный файл, который выглядит так:
static int *pieces;
Тогда у меня есть функция, которая заполняет ее числами, которые я хочу там. Функция находится в пространстве имен, а пространство имен реализовано в собственном .cpp файле. Тем не менее, я импортирую файл заголовка в main.c и вызываю функцию из пространства имен, которое создает такой массив, как:
pieces = malloc(sizeof(int) * 128);
Но когда я пытаюсь получить доступ к номерам в главном массиве (после вызова функции, которая создает мой массив), он сбой и говорит, что части не были инициализированы. Но в функции я могу ее создать и манипулировать цифрами в ней просто отлично. У меня создалось впечатление, что, ставя куски статической переменной, всякий раз, когда какая-либо функция меняет (или устанавливает ее), это повлияет на использование переменной где угодно. В основном, что я пытаюсь сказать, почему части кажутся неуправляемыми в основном, хотя я установил его в функции, которую я назвал?