Hi
Zitat Zitat von Darkthief
also, ersma kann man keine const Variable deklarieren ohne sie zu initialisieren, es sei denn, sie ist extern.
Und ja, extern bzw. globale Variablen werden immer mit 0 initialisiert, auch Felder (habs getestet).
Ich glaube, dass Du hier extern, const, static und globale Variablen in einen Topf wirfst.

extern hat was mit modularer Programmierung zu tun, ist also für diesen Thread weitestgehend uninteressant.

Variablen, die als const deklariert sind, lassen sich nicht ändern, zumindest sollte das Dein Compiler nicht zulassen.

Variablen, die innerhalb einer Funktion als static deklariert sind, bleiben nach Verlassen ihres Gültigkeitsbereichs erhalten und haben bei erneutem Aufruf (im gleichen Gültigkeitsbereich) noch ihren alten Wert, wurden also nicht gelöscht.

Es gibt noch sowas wie volatile oder restrict, was aber hierfür keine Bedeutung hat.

Globale Variablen sind Variablen, deren Gültigkeitsbereich sich über das gesamte Programm erstreckt (bei modularer Programmierung kommen noch ein Paar Umstände hinzu, doch das hat wie gesagt nichts mit dem Topic zu tun...).

Wenn Du Variablen eines Vektor mit Zufallswerten füllen willst, dann tu das mit rand().
Code:
int mat[50][50];
int i, j;

srand(time(NULL)); // rand() initialisieren

for(i = 0; i < 50; i++)
{
  for(j = 0; j < 50; j++)
  {
    mat[i][j] = (int)(INT_MAX * rand() / (RAND_MAX + 1));
    // Wert zwischen 0 und INT_MAX
  }
}
GreetZ RiDER