Pointer auf Strukturen



  • #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #define COLUMN 7
    #define ROW 7
    
    struct player {
    	int Schiffe;
    	int Spielfeld[COLUMN][ROW];
    	char Spieler_Name;
    }*human, *computer;
    
    int main(void) {
    
    	system("cls");
    	int i=0, j=0;
    
    	for(i = 0; i < ROW; i++) {
    		for(j = 0; j < COLUMN; j++) {
    			human->Spielfeld[i][j] = 0;
    			computer->Spielfeld[i][j] = 0;
    		}
    	}
    	for(i = 0; i < ROW; i++) {
    		for(j = 0; j < COLUMN; j++) {
    			printf("%2d", (*human).Spielfeld[i][j]);
    		}
    		printf("\n");
    	}
    
    	system("PAUSE");
    	return EXIT_SUCCESS;
    }
    

    Der Compiler spuckt weder fehler, noch Warnung aus.
    Allerdings stürzt das Programm ab sobald es bei

    human->Spielfeld[i][j] = 0;
    

    angekommen ist...wo ist da der Fehler?

    Gruß Tridane



  • Du musst den Zeigern auch noch Speicherplatz zuweisen.
    Schau dir dazu mal die Funktionen malloc() und free() an.



  • ich wusste, dass ich irgendwas dummes übersehen habe -.-
    vielen Dank^^


Anmelden zum Antworten