Je compile ce morceau de code et j'obtiens des erreurs de compilation en disant "pointeur de déréférencement vers un type incomplet". Je reçois les erreurs pour la dernière instruction d'impression et avant cela où j'essaie de pointer (* temp). num à l'adresse de bQuestion concernant la référence de la structure des pointeurs
void main()
{
struct {
int xx;
char *y;
int * num;
struct x *next;
}x;
struct x* temp;
int b = 10;
temp = ((struct x *)malloc(sizeof(x)));
(*temp).num = &b;
x.next = temp ;
printf(" %d\n",temp->num, x.next->num);
}
'main()' retourne un entier. Pour rendre votre programme plus portable utilisation 'int main (void) {/ * ... * /}'. Et vous n'avez pas besoin de convertir la valeur de retour de 'malloc()', il vaut mieux '#include'. Et '(* temp) .num' peut être écrit' temp-> num' –
pmg
Oh. .. et votre 'printf' attend 1 argument en dehors de la chaîne de format et vous le passez 2. – pmg
Vous ne devriez pas convertir la valeur de retour de malloc(), en C. – unwind