Wo ist lokale variable zugeordnet? Heap oder stack?

http://www-ee.eng.hawaii.edu/~tep/EE160/Book/chap14/subsection2.1.1.8.html
Diese Seite sagt, dass lokale Variablen und Parameter übergeben werden, die auf den stack, So habe ich versucht:

#include <stdio.h>
#include <stdlib.h>
#define A 2000000
#define B 2

typedef struct {
    int a[A][A];
} st;

void fun(st s){}

void main()
{
    st s;
    //fun(s);
}

Kein Fehler gemeldet, nachdem Sie kompiliert und ausgeführt. Aber wenn ich de-kommentieren //fun(s) , Dann SIGSEGV gefangen ist. Kann jemand sagen warum?

  • Die Antwort steht im Titel...
  • Haben Sie keine 16 TB virtuellen Speicher auf Ihrem Computer?
InformationsquelleAutor CDT | 2013-01-26
Schreibe einen Kommentar