#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXNO 1000
typedef struct
{
int n;
char site[4];
} stru;
typedef struct
{
stru t1[MAXNO];
stru t2[MAXNO];
} struall;
int main()
{
struall tmp;
int i;
printf("%d\n",i);
return 1;
}
Привет всем, Я пытаюсь объявить структурную переменную, в которой есть два элемента массива структуры. Если размер массива (MAXNO) мал, я могу скомпилировать его успешно. Однако, если размер массива очень велик (определите MAXNO как 1000000), объявление провалится с ошибкой сегментации.Как объявить структуру с большими массивами структуры внутри нее
Может ли кто-нибудь сказать мне причину?
Большое спасибо!
Читайте немного о [стека и кучи] (http://stackoverflow.com/questions/79923/what- and-where-are-the-stack-and-heap) – Logman
'C' и' C++ 'являются отдельными языками. Тэг разумно. – sjsam
@sjsam Вы правы, но причина для этой проблемы одинакова на обоих языках. – Logman