У меня есть файл заголовка, содержащий char** globalScreen
, который я выделил память внутри функции, которая вызывается, как только программа запускается в main.c.Проблема Segfault, которая может быть связана с областью
Я выделил память следующим образом;
char (*globalScreen)[SSIZEY] = malloc(SSIZEX * SSIZEY * sizeof(char*));
int i,j;
for(i = 0;i < SSIZEX;i++)
{
for(j = 0; j < SSIZEY;j++)
{
globalScreen[i][j] = (char)0x41;
}
}
И также инициализирован массив.
я могу затем успешно напечатать весь массив, но только внутри функции, я выделяемая и инициированной его Когда я пытаюсь получить доступ к массиву из main
. - после вызова моей функции, которая инициализирует массив - программа возвращает ошибка сегментация ,
Я пробовал отладку с помощью lldb, но обнаружил, что он, похоже, не может найти какие-либо места, где я пытаюсь их установить. Соответствующая часть файла заголовка выглядит следующим образом:
#ifndef _VECTORDATA_H_
#define _VECTORDATA_H_
#include "vectorAPI.h"
char** globalScreen;
#endif
Можете ли вы опубликовать соответствующие части из файла заголовка? –
Можете ли вы также опубликовать всю функцию, которая инициализирует массив? –
rename char ** globalScreen; to char ** globalScreenXXX; и пытаюсь скомпилировать .. Я думаю, что они разные переменные, один из которых локальный, а другой глобальный. – houssam