In questo articolo, abbiamo trattato le differenze tra i 3 termini principali Definizione, Dichiarazione e Inizializzazione in C e C++ insieme ai frammenti di codice.
Sommario:
- Dichiarazione
- Definizione
- Inizializzazione
- Conclusione/Tabella delle differenze
Per capire la differenza tra i due, dovremmo prima capire ogni termine in modo indipendente. Quindi, eccoci qui.
1. Dichiarazione
La dichiarazione di una variabile è generalmente un'introduzione a una nuova memoria allocata a qualcosa che potremmo chiamare con un nome.
Proprietà della dichiarazione -
1. La creazione della memoria avviene al momento della dichiarazione stessa.
2.Le variabili possono avere valori spazzatura.
3.Le variabili non possono essere utilizzate prima della dichiarazione.
Synatx-
//declare a variable
int x
//declare a function but not defined
void func();
Codice-
#include<iostream>
using namespace std;
int main()
{
int x; // variable declaration
cout << "Value of x:" << x << endl; // garbage value
cout << "Address of x: " << &var << endl; // x's assigned address
cout << "Size of x: " << sizeof(x) <<" bytes";// allocated memory in bytes
return 0;
}
Uscita-
Value of x:32766
Address of x: 0x7ffebb87a084
Size of x: 4 bytes
2. Definizione
Nella dichiarazione, l'utente definisce la variabile dichiarata in precedenza.
Sintassi-
//declaration
int x;
float y;
// definition
x = 1;
y = 78;
Codice-
#include<iostream>
using namespace std;
int main()
{
int x; //variable declaration
cout << "Value of x: " << x << endl; // garbage value
x = 2; // variable initialization/definition
cout << "Value of x:" << x << endl;
x = 4 + x; //data overriding
cout << "New x value: " << x << endl;
return 0;
}
Uscita-
Value of x: 0
Value of x: 2
New x value: 6
3. Inizializzazione
L'inizializzazione non è altro che l'assegnazione del valore al momento della dichiarazione.
sintassi-
int x = 0;
Codice-
#include<iostream>
using namespace std;
int main()
{
// declaration & initialization at same time
int x = 1;
float x2 = 1.25;
cout << "Value of x: " << x << endl;
cout << "Value of x2: " << x2 << endl;
return 0;
}
Uscita-
Value of x: 1
Value of x2: 1.25
Conclusione/Tabella delle differenze
Dalla spiegazione di cui sopra possiamo concludere quanto segue-
- La dichiarazione sta solo nominando la variabile.
- Definizione non significa dichiarazione '+' L'inizializzazione come definizione potrebbe essere senza inizializzazione.
- L'inizializzazione sta assegnando valore alla variabile dichiarata. (Al momento della dichiarazione)
Dichiarazione | Definizione | Inizializzazione |
---|---|---|
1.La dichiarazione sta solo nominando la variabile. | La definizione è una dichiarazione senza inizializzazione. | l'inizializzazione è una dichiarazione con definizione allo stesso tempo. |
2.Le variabili possono avere valori inutili | Le variabili possono avere o meno valori spazzatura | Le variabili non hanno valori spazzatura |
3 La dichiarazione può essere eseguita un numero qualsiasi di volte. | Definizione eseguita solo una volta | Inizializzazione eseguita solo una volta |
4.La memoria non verrà allocata durante la dichiarazione | La memoria verrà allocata durante la definizione | La memoria verrà allocata durante l'inizializzazione |
5.La dichiarazione fornisce gli attributi di base di una variabile/funzione. | la definizione fornisce i dettagli di quella variabile/funzione. | L'inizializzazione fornisce i dettagli di quella variabile/funzione e valore. |
Con questo articolo su OpenGenus, devi avere un'idea completa di Definizione vs Dichiarazione vs Inizializzazione in C/C++.