problem mit typedef

nitro-Merlin

Mitglied
hi leude, ich habe nen relativ simples problem, aber mir wills nicht gelingen.

also folgendes:

ich definiere mir am anfang vom programm einen typ(eine struktur), also sprich einen listentyp, der 2 element hat.
Code:
typedef struct elem *IntList;
typedef struct elem { int wert;
		      IntList next;
		    } elemtype;

also der typ ist definiert, nun bastel ich mir eine funktion, die folgendes leisten soll:
"//-- Element mit Wert n erzeugen und hinten an eine Liste anhaengen ---
//--- Liste kann noch leer sein ! ------------------------"

Code:
void Append(IntList *l, int n)
{ 
	
	Intlist A = (Inlist)malloc(sizeof(elemtype));//Größe von elemtype bestimmt und an Zeiger A übergeben

etc.

jetzt kommt mein problem, wieso meckert der compiler, dass:

"'Intlist' : nichtdeklarierter Bezeichner"
"Syntaxfehler : Fehlendes ';' vor Bezeichner 'A'"
"'A' : nichtdeklarierter Bezeichner"


Ich meine Inlist ist doch deklariert oder? Verwirrt mich total.
 
Hi,
so sollte es gehen:
Code:
typedef struct elem { int wert;
                      elem* next;
                    };

typedef elem* IntList;

void Append(IntList l, int n)
{ 
        IntList A = (IntList)malloc(sizeof(elem));
}

1.) Den Typ IntList solltest du nachdem du deine struktur definiert hast deklarieren...
2.) Schau mal in deiner Funktion die Schreibfehler an...
3.) Der Name elemtype der Struktur elem is nicht unbedingt nötig und verwirrt wie ich finde mehr
als das er Nutzen bringt...

Gruß

RedWing
 
hmm, verdammte schreibfehler ;), kotzt mich jetz bissel an, wegen solchen kleinigkeiten, aber ist mir ne lehre.

ich habs davor definiert, da es der prof. und der dr. auch so gemacht haben ;), aber ich werd deins mal ins auge fassen.

danke erstmal.
 
Zurück