Tipi incompleti

Un tipo incompleto è un tipo che descrive un identificatore ma non dispone delle informazioni necessarie per determinare la dimensione dell'identificatore.“Un tipo incompleto„ può essere:

  • Membri di un tipo di struttura di cui non è stata ancora specificata.

  • Membri di un tipo di unione di cui non è stata ancora specificata.

  • Una dimensione del tipo di matrice i cui non è stata ancora specificata.

Il tipo void è un tipo incompleto che non può essere completata.per completare un tipo incompleto, specificare le informazioni mancanti.Negli esempi seguenti viene illustrato come creare e completare i tipi incompleti.

  • Per creare un tipo incompleto della struttura, dichiarare un tipo di struttura senza specificare i relativi membri.in questo esempio, ps punti del puntatore a un tipo incompleto della struttura chiamato student.

    struct student *ps;
    
  • Per completare un tipo incompleto della struttura, dichiarare successivamente lo stesso tipo di struttura nello stesso ambito con i relativi membri specificati, come in

    struct student
    {
        int num;
    }                   /* student structure now completed */
    
  • Per creare un tipo di matrice incompleto, dichiarare un tipo di matrice senza specificare il numero di ripetizione.Di seguito è riportato un esempio:

    char a[];  /* a has incomplete type */
    
  • Per completare un tipo di matrice incompleto, dichiarare successivamente lo stesso nome nello stesso ambito con il relativo conteggio di ripetizione specificato, come in

    char a[25]; /* a now has complete type */
    

Vedere anche

Concetti

Dichiarazioni e tipi