Hi malila
Um Speicherplatz für die Tabelle zu reservieren kannst du malloc und free verwenden:
int x;
printf("Wieviele Spalten und Zeilen soll die Tabelle haben? (1-8)\n");
scanf("%i",&x);
/\*
Das Array anlegen: x Zeilen + 1 Kopfzeile und 1 Zeile zum unterstreichen
der Kopfzeile;
x Spalten + 1 für die Nummerierung (links) bestehend aus je 6 Buchstaben
\*/
char\* tabelle = malloc(x\*x\*6);
// Auf des erstellte Array kann jetzt ganz normal zugegriffen werden
strcpy(tabelle[zeile][spalte], " 2");
/\* Wenn die Tabelle nicht mehr gebraucht wird, muss sie gelöscht werden !
Wenn dies nicht geschieht bleibt der Speicherplatz bis zum Neustart des
Computers belegt \*/
free(tabelle);
Hier ist noch 2 links zu den entsprechenden Microsoft-Sites:
malloc: http://msdn.microsoft.com/library/default.asp?url=/l…
free: http://msdn.microsoft.com/library/default.asp?url=/l…
Ausserdem soll die Kopfzeile und die linke Spalte durch
Striche von der Tabelle abgetrennt werden, wie ich das machen
soll ist mir voellig schleierhaft. 
Um das ganze möglichs elegant zu lösen sollte man die Kopfzeile und die Zeile
darunter (----) als normale Zeilen ansehen sowie die linke Spaltennummerierung
als normale Spalte.
Die Kopfzeile sowie der Strich darunter müssen manuell ausgegeben werden, der
Rest kann dann mit einer Schleife erledigt werden.
Wahrscheinlich wirst die diese Funktion benötigen um die int-Zahlen in Buchstaben umzuwandeln:
http://msdn.microsoft.com/library/default.asp?url=/l…
buffer[6];
itoi(34, buffer, 10);
btw:
Muss man eigentlich ein Array verwenden ? Das ganze ließe sich auch mit einer normalen prinf() Schleife (einfacher) erledigen, der Array-Ansatz ist aber IMHO eleganter.
ciao,
Daniel Raffler