English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Corso di base di linguaggio C

Controllo di flusso di linguaggio C

Funzioni del linguaggio C

Array del linguaggio C

Puntatori del linguaggio C

Stringhe del linguaggio C

Struttura di linguaggio C

File di linguaggio C

C altri

Manuale di riferimento C

Parola chiave typedef del linguaggio C

C linguaggio fornisce la parola chiave typedef, che puoi usare per dare un nuovo nome significativo ai tipi. È utilizzato per ridare un nome a una variabile esistente.

La sintassi di typedef

typedef <existing_name> <alias_name>

Nella sintassi sopra, " existing_name"è il nome della variabile esistente, mentre "alias_name"è un altro nome assegnato a una variabile esistente.

Ad esempio, supponiamo di voler creare un tipo diunsigned intSe si desidera dichiarare più variabili di questo tipo, diventa piuttosto complicato. Per superare questo problema, utilizziamotypedefla parola chiave.

typedef unsigned int unit;

Nella frase sopra, abbiamo utilizzatotypedefLa parola chiave dichiarata indica un tipo unsigned intunitvariabile.

Ora, possiamo creare una variabile scrivendo la seguente frase:unsigned intVariabili di tipo:

unit a, b;

piuttosto che scrivere:

unsigned int a, b;

Dovresti aver notato giàtypedefLe parole chiave forniscono un modo semplificato per accedere rapidamente a variabili esistenti, sostituendo i loro nomi. Quando si gestiscono tipi di dati lunghi (soprattutto dichiarazioni di strutture), questa parola chiave è molto utile.

Lasciamo che ci aiuti un esempio semplice a comprendere.

#include <stdio.h>
int main()
{
    typedef unsigned int unit;
    unit i, j;
    i = 10;
    j = 20;
    printf("Il valore di i è: %d", i);
    printf("\nIl valore di j è: %d", j);
    return 0;
}

Risultato di output

Il valore di i è: 10 
Il valore di j è: 20

Uso del typedef per la struttura

Di seguito è riportata la dichiarazione della struttura:

struct student
{
char name[20];
int age;
};
struct student s1;

Nella dichiarazione della struttura sopra, abbiamo creatoStudenteVariabili di tipo:

struct student s1;

La seguente istruzione crea la variabile s1, ma è piuttosto lunga. Per evitare dichiarazioni così lunghe, usiamotypedefLa chiave, crea un tipo di datistudentLe variabili.

struct student
{
char name[20];
int age;
};
typedef struct student stud;
stud s1, s2;

Nella dichiarazione sopra, abbiamo dichiarato una variabile di tipo struct studentstud. Ora possiamo utilizzarestudLe variabili per crearestruct studentVariabili di tipo.

Il typedef sopra può essere scritto come:

typedef struct student
{
    char name[20];
    int age; 
}
stud s1, s2;

Dalle dichiarazioni precedenti, possiamo trarre la seguente conclusione:typedefLe chiavi riducono la lunghezza del codice e la complessità dei tipi di dati, aiutando anche a comprendere il programma.

Guardiamo un altro esempio in cui viene utilizzato il typedef per la dichiarazione delle strutture.

#include <stdio.h>
typedef struct student
{
    char name[20];
    int age;
}stud;
int main()
{
    stud s1;
    printf("Inserisci i dettagli dello studente s1: ");
    printf("\nInserisci il nome dello studente:");
    scanf("%s", &s1.name);
    printf("\nInserisci l'età dello studente:");
    scanf("%d", &s1.age);
    printf("\nNome dello studente: %s", s1.name);
    printf("\nInserisci l'età dello studente: %d", s1.age);
    return 0;
}

Risultato di output

Inserisci i dettagli dello studente s1: 
Inserisci il nome dello studente: Peter
Inserisci l'età dello studente: 28 
Nome dello studente: Peter 
Età dello studente: 28

typedef insieme ai puntatori

Possiamo anche utilizzaretypedefFornire un altro nome o alias alla variabile di puntatore.

Ad esempio, solitamente dichiariamo un puntatore come segue:

int* ptr;

Possiamo rinominare le variabili di puntatore indicate di seguito:

typedef int* ptr;

Nella seguente frase, abbiamo dichiaratoint *Tipi di variabile. Ora, possiamo semplicemente usare' ptr'Variabile per creareint *Variabili di tipo, come mostrato nella seguente frase:

ptr p1, p2;

Nella seguente frase:p1ep2è' ptr'Variabili di tipo.