struct



  • ich habe ein struct was ein anderes struct enthält. Jetzt will eine Variable im struct initialisieren. Ohne Erfolg habe ich es so probiert

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    const int DIM=2;
    
    struct Particle {
    	double	m;
    	double  x[DIM];
    	double  F[DIM];
    	double  F_old[DIM];
    	double  v[DIM];
    };
    
    struct Particle p[];
    
    struct ParticleList {
    	struct Particle p;
    	struct Particlelist *next;
    };
    
    struct ParticleList l[];
    
    int main() {
    
    	l[0].p[0].m=1.0; l[0].p[0].x[0]=0; l[0].p[0].x[1]=0; 
    	return(0);
    }
    

    gemeckert wurde über unerlaubte Datentypen struct Particle und int in der Zeile vor return



  • geb mal bei der Initialisierung in den eckigen Klammern eine Größe an



  • Wofür ist

    docu schrieb:

    struct Particle p[];
    

    ??

    struct ParticleList l[];
    

    Hier musst du, wie schon erwähnt, eine Größe angeben.

    l[0].p[0].m=1.0; l[0].p[0].x[0]=0; l[0].p[0].x[1]=0;
    

    Die Variable p innerhalb l ist kein Array! Also weg mit den [] hinter p. Falls es ein Array sein sollte, dann musst du das auch innerhalb deiner struct angeben.


Anmelden zum Antworten