Ich habe den folgenden Code:Zeiger und sein Wert gleich in C
typdef struct fractal
{
int *tab;
}*frac;
frac new = (frac) malloc(1000*sizeof(struct frac));
new->tab = (int *) calloc(100,sizeof(int));
Als ich tab
und *tab
es gibt mir die gleiche Antwort ...
printf("new->tab = %d\n *(new->tab) = %d\n", tab->new, *(tab->new));
Auf meinem drucken möchten Terminal Ich habe:
new->tab = 1946160960
*(new->tab) = 1946160960
Wie ist das möglich?
Vielen Dank für Ihre Antworten und sorry für mein Englisch :)
Sie die Verwendung von vermeiden sollte ' neue Kennung. – Michi
Sie sollten den Rückgabewert von 'malloc' nicht umwandeln: [siehe hier] (http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc). – trentcl
Auch die 'printf' Zeile scheint nicht mit dem Rest des Codes zu gehen. Bitte poste ein Beispiel, dass potentielle Helfer kompilieren können. – trentcl