Чтобы сделать ps
видимым глобально, необходимо, чтобы это была глобальная переменная.Вам, вероятно, также нужно сделать это для количества столбцов и строк.
struct ponto *ps;
int colunas, linhas;
int main()
{
colunas = /* whatever */;
linhas = /* whatever */;
ps = malloc(sizeof(struct ponto) * colunas * linhas);
/* do other stuff */
}
Теперь ps
виден всем функциям в исходном файле и через него они могут получить доступ к памяти, на которую он указывает.
Если у вас есть несколько исходных файлов, вам придется сообщить им о ps
в заголовочном файле, который объявляет его
struct ponto { /* whatever */ }; /* define the struct in the header */
extern struct ponto *ps;
extern int colunas, linhas;
realloc
выполняет совершенно другую операцию, этоизменяет размер буфера, на который указывает ps
.null
не существует в стандарте C.