La definizione è automaticamente una dichiarazione nella maggior parte degli scenari. Ora capiamo la differenza tra definizione e dichiarazione con la tabella di confronto dettagliata.
Grafico comparativo
Base per il confronto | Definizione | Dichiarazione |
---|---|---|
Di base | Determina il valore memorizzato in variabile, funzione o classe. | Specifica il nome e il tipo di variabile, funzione, classe, ecc. |
Allocazione della memoria | Si verifica | Non ha luogo |
Ripetizione | Le dichiarazioni non possono essere definite di nuovo se una volta è già definita. | La ridichiarazione può essere facilmente possibile. |
Scopo | La durata è determinata | La visibilità è specificata |
Definizione di definizione
La definizione identifica il codice oi dati associati al nome della variabile, funzione, classe, eccetera. La definizione è necessariamente richiesta dal compilatore per allocare lo spazio di archiviazione per l'entità dichiarata. Quando una variabile è definita, contiene una quantità di memoria costituita da diversi byte per quella variabile. Una definizione di funzione produce codice per la funzione. Possiamo definire un elemento del programma solo una volta in un programma perché la definizione è una specifica univoca di un elemento del programma. La relazione tra dichiarazione e definizione può essere uno-a-molti .
In alcune situazioni, un elemento del programma non può essere definito ma dichiarato, ad esempio quando una funzione non viene mai invocata o il suo indirizzo non viene mai utilizzato anche se è dichiarato. Un altro esempio è quello in cui la definizione della classe non viene utilizzata mentre deve essere dichiarata.
Definizione di dichiarazione
La dichiarazione viene utilizzata per specificare i nomi del programma come il nome di una variabile, funzione, spazio dei nomi, classi, ecc. Nessun nome può essere utilizzato in un programma senza la sua dichiarazione. Gli elementi del programma possono essere dichiarati più volte, a differenza della definizione. Dichiarazioni multiple possono essere ottenute solo quando le diverse dichiarazioni sono fatte usando il formato identico. La dichiarazione è il mezzo per fornire visibilità all'elemento del programma nella prospettiva dei compilatori.
La dichiarazione ha lo scopo di definire, solo in certi casi non è implicita la condizione che viene fornita di seguito.
- Quando il membro dei dati statici è dichiarato all'interno di una dichiarazione di classe, in tal caso, non è una dichiarazione. Perché genera solo una copia per tutti gli oggetti della classe e i membri dei dati statici sono i componenti degli oggetti di un tipo di classe fornito.
- Se una dichiarazione è una dichiarazione typedef.
- Una variabile viene dichiarata senza inizializzatore o corpo della funzione ma include specificatori esterni. Indica che la definizione potrebbe essere per l'altra funzione e fornisce il nome linkage esterno.
- La dichiarazione del nome della classe senza includere la definizione come la classe T;
Di solito, la dichiarazione ha luogo in un ambito . L'ambito decide la visibilità del nome dichiarato e la durata dell'oggetto definito.
Differenze chiave tra definizione e dichiarazione
- La definizione di un elemento del programma determina il valore associato a quell'elemento. D'altra parte, la dichiarazione di un elemento del programma specifica il suo nome e tipo al compilatore.
- La definizione dell'elemento del programma riserva una certa quantità di memoria mentre la dichiarazione non implica l'allocazione della memoria.
- Un elemento del programma può essere dichiarato più volte. Al contrario, la definizione incorpora una specifica univoca con il nome dell'elemento del programma che potrebbe essere distinto da qualsiasi codice o dato.
- L'ambito nella dichiarazione descrive la visibilità della variabile, funzione, oggetto, classe, enumerazione, ecc. Al contrario, nella definizione l'ambito si riferisce alla durata.
Esempio di definizione
- Definizione della variabile e dichiarazione:
int r = 10;
- Definizione della funzione:
int add (int x, int y) {int a; a = x + y; return a; }
Esempio di dichiarazione
- Dichiarazione variabile:
extern int r;
- Dichiarazione di funzione:
int add (int p1, int p2);
Conclusione
Il processo di dichiarazione viene utilizzato per rendere l'elemento del programma visibile al compilatore e non richiede l'allocazione della memoria. La definizione inversa è una dichiarazione che riserva l'archiviazione, in parole semplici il compilatore riserva lo spazio di memoria per l'entità dichiarata.