Mark.G.
Ensign
- Registriert
- Okt. 2008
- Beiträge
- 249
Hallo,
folgendes "Problem", ich hab einen array und möchte, dass jedes element des arrays auf eine verkettete Liste zeigt.
Hier mal mein code:
Das hier geht leider nicht oder macht nicht was es soll.
wobei wenn diese zeile ned passt, dann passt diese auch ned:
ich hab jedoch folgendes getestet:
Wer kann mir sagen wie ich den array hashtabelle richtig definieren muss damit ich in zb. "hashtabelle[2]" den pointer auf die liste speichern kann. Code sagt mehr als 1000 worte.
dankö
ok ich sollte es haben.
folgendes "Problem", ich hab einen array und möchte, dass jedes element des arrays auf eine verkettete Liste zeigt.
Hier mal mein code:
Code:
#include <iostream>
#include <string.h>
#include <stdlib.h>
// Struct für ein Listenelement
struct userlist
{
char username[256]; // Daten die pro Element gespeichert werden sollen
char emailadresse[256]; // Daten die pro Element gespeichert werden sollen
struct userlist *next; // Zeiger aufs nächste Element
};
// Struct für die Liste selbst
struct list
{
struct userlist *start; // Zeiger aus erste Listenelement
};
//funktion
int add (struct userlist hashtabelle[], char name[], char emailadd[])
{
struct userlist *p;
struct userlist *buffer;
struct list *l = initList(); // Erstellt die Liste
p = initElement(name,emailadd);
hashtabelle[hashnumber] = *p;
addElementToList(l, p);
printf("%s\n",p->username);
*buffer = hashtabelle[hashnumber]; // hier will ich testen ob die adresse von der liste p in hashtabelle[hashnumber] steht, leider funkt das nicht
printf("%s",buffer->username); //geht nicht da übergabe ned geht
return 1;
}
int main(int argc, char *argv[])
{
struct userlist hashtabelle[2003]; //!!!!!!!!!!! stimmt das??? !!!!!!!!!!!
add(hashtabelle, argv[2], argv[3]); //ruft funktion auf
return 0;
}
Das hier geht leider nicht oder macht nicht was es soll.
Code:
*buffer = hashtabelle[hashnumber];
wobei wenn diese zeile ned passt, dann passt diese auch ned:
Code:
hashtabelle[hashnumber] = *p;
ich hab jedoch folgendes getestet:
Code:
buffer= p; //hab mich vorhin vertan, so gehts
Wer kann mir sagen wie ich den array hashtabelle richtig definieren muss damit ich in zb. "hashtabelle[2]" den pointer auf die liste speichern kann. Code sagt mehr als 1000 worte.
dankö
Ergänzung ()
ok ich sollte es haben.
Code:
buffer = &hashtabelle[hashnumber];
Zuletzt bearbeitet: