У меня есть простая программа на OpenGL C (из NeHe урок 2 ).Есть функция инициализации InitGL.
И у меня есть функция foo
в моей статической библиотеке:
void foo(double *p)
{
p[0] = 1.0;
}
Когда я определяю массив double в начале InitGL
:
double arr[1000];
и измените его в InitGL
все работает нормально.
Когда я динамически выделяю память для этого массива и вызываю foo
из InitGL
, все тоже отлично работает:
double *p = (double *)malloc(1000 * sizeof(double));
foo(p);
Но когда я определяю массив в начале InitGL
и вызываюfoo
из InitGL
:
double p[1000];
foo(p);
Я получаю ошибку сегментации в строке
p[0] = 1.0;
Где ошибка?