Comment définir un pointeur sur une structure

Je sais que c'est un très basique problème, mais je ne peut pas avancer sans elle, et ce n'est pas clairement expliqué ailleurs.

Pourquoi est-ce la programmation de me donner autant d'erreurs de l'identificateur non déclaré? Je l'ai annoncé, cependant.

Ce sont les erreur que j'obtiens.

Error   2   error C2143: syntax error : missing ';' before 'type'
Error   3   error C2065: 'ptr' : undeclared identifier
Error   4   error C2065: 'contactInfo' : undeclared identifier
Error   5   error C2059: syntax error : ')'
Error   15  error C2223: left of '->number' must point to struct/union

et plus...

#include<stdio.h>
#include<stdlib.h>

typedef struct contactInfo
{
    int number;
    char id;
}ContactInfo;


void main()
{

    char ch;
    printf("Do you want to dynamically etc");
    scanf("%c",&ch);
    fflush(stdin);


        struct contactInfo nom,*ptr;
        ptr=(contactInfo*)malloc(2*sizeof(contactInfo));

    nom.id='c';
    nom.number=12;
    ptr->id=nom.id;
    ptr->number=nom.number;
    printf("Number -> %d\n ID -> %c\n",ptr->number,ptr->id);

}
Ne jamais appeler fflush sur stdin - il de l'UB.
peut-être que vous devriez lire le C livre avec plus d'attention
et void main() ;-(
pourquoi donc? J'ai lu que quand vous prenez d'entrée de unser utilisation de scanf vous faire un fflush pour enlever le \n dans le pipeline?
fflush n'est valable que pour la sortie ou de la mise à jour des flux - utilisation fpurge pour les flux d'entrée, ou tout simplement appeler getchar() à jeter un caractère superflu.

OriginalL'auteur SLearner | 2013-01-23