Shared memory + 2D Array

Hallo!

Ich schreibe mal wieder an einer Aufgabe, diesmal gehts um Shared Memory und Semaphore. Und ich habe Probleme beim attachen von meinem shared memory-block zu einem 2D Array.
Und zwar soll das ganze ein “Spiel” werden, in den man über nen Client mittels den Tasten G,B,V,N (warum nicht W,S,A,D weiß ich auch nicht) ein Schiffchen gesteuert (dargestellt duch @) in einem “Weltraum” aus ±Zeichen.
Der Server übernimmt dann aber die Darstellung
code entfernt weil veraltet

Compiler sagt:
gameserver.c: In function ‘main’:
gameserver.c:77: error: array type has incomplete element type

Da wollte ich eben listig sein und mir den ganzen Spaß mit memcpy ersparen…
Weiß jemand wie der Cast doch funktionieren könnte? Denn shmat() gibt einen void-Pointer zurück, soweit ich das verstanden hab, also irgendwie muss es doch gehen, oder?

EDIT: Ok, habe gerade rausgefunden das mein Vorhaben das Ding so zu casten zum Scheitern verurteilt war und ist.
Muss also index magic anwenden, und aus space[40][20] wird space[800].

Tja, jetzt bin ich doch auf etwas gestoßen was ich mir nicht ergoogeln kann. hab aus dem 2D array ein 1D (statt space[40][20] - space[800]) array gemacht. Aber trotzdem hab ich beim attachen Probleme.

Wenn ich aber schreibe

	space = shmat(shmid, NULL, 0);

bekomm ich vom Compiler:

gameserver.c: In function ‘main’:
gameserver.c:77: error: incompatible types when assigning to type ‘char[800]’ from type ‘void *’

Und wenn ich das schreibe

	space = (char []) shmat(shmid, NULL, 0);

bekomm ich

gameserver.c: In function ‘main’:
gameserver.c:77: error: cast specifies array type

Bin ziemlich ratlos. Heißt es nicht immer dass Pointer und Arrays eqiuvalent sind? Demnach müsst ich einen void-Pointer auf ein char-Array nicht casten?
Und zu der zweiten Ausgabe hab ich leider überhaupt noch keine Ideen!

EDIT: Ok, dieser Thread erübrigt sich nun völlig. Problem gelöst. Für die, die diesen Thread ergoogeln: die Lösung war mein Array als * anzulegen und die Größe nicht anzugeben, dann klappt auch shmat().