Hm, irgendwie ist mir jetzt auch nicht so recht klar, wieso das so nicht geht...
Auf jeden Fall compiliert das folgende Beispiel mit dem gcc und lässt sich auch problemlos ausführen:
#include <stdio.h>
#ifndef NULL
# define NULL ((void*)0)
#endif
char str1[] = "BETRIEBSSYSTEME";
char str2[] = "SPEICHERCONFIG";
char str3[] = "SOUNDCONFIG";
char str4[] = "RESET";
char* menustr[] = {
str1,
str2,
str3,
str4
};
void menuzeichnen(int x, int y, char* menustr[], const char * stry[][6])
{
int i, j;
printf ("-----------------------------------\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < sizeof(*stry)/sizeof(**stry); j++) {
if (stry[i][j] != NULL) {
printf("%s\n", stry[i][j]);
}
}
printf ("-----------------------------------\n");
}
}
main (void)
{
const char* stry[][6] = {
{ "Qme4.04", "XL-OS", "SPEEDER-OS", "OLD-OS BIBOMON", "OmniMon", "OmniView" },
{ "AUS", "256KB RAMBO", "256KB COMPYSHOP", "512KB RAMBO", NULL, NULL },
{ "STANDART MONO", "STEREO", NULL, NULL, NULL, NULL },
{ "KALTSTART", "WARMSTART", NULL, NULL, NULL, NULL }
};
menuzeichnen(1, 2, menustr, stry);
}
Vielleicht hilft Dir das ja weiter.
Gruß,
Ralph