Tipi di variabili C ++
Una variabile ci fornisce una memoria con nome che i nostri programmi possono manipolare. Ogni variabile in C ++ ha un tipo specifico, che determina la dimensione e il layout della memoria della variabile; l'intervallo di valori che possono essere memorizzati all'interno di quella memoria; e l'insieme di operazioni che possono essere applicate alla variabile.
Il nome di una variabile può essere composto da lettere, cifre e il carattere di sottolineatura. Deve iniziare con una lettera o un trattino basso. Le lettere maiuscole e minuscole sono distinte perché C ++ fa distinzione tra maiuscole e minuscole -
Ci sono i seguenti tipi base di variabili in C ++ come spiegato nell'ultimo capitolo:
Suor n | Tipo e descrizione |
---|---|
1 | bool Memorizza il valore vero o falso. |
2 | char Tipicamente un singolo ottetto (un byte). Questo è un tipo intero. |
3 | int La dimensione più naturale del numero intero per la macchina. |
4 | float Un valore in virgola mobile a precisione singola. |
5 | double Un valore in virgola mobile a precisione doppia. |
6 | void Rappresenta l'assenza di tipo. |
7 | wchar_t Un tipo di carattere ampio. |
Il C ++ permette anche di definire vari altri tipi di variabili, che tratteremo nei capitoli successivi come Enumeration, Pointer, Array, Reference, Data structures, e Classes.
La sezione seguente spiegherà come definire, dichiarare e utilizzare vari tipi di variabili.
Definizione variabile in C ++
Una definizione di variabile indica al compilatore dove e quanto spazio di archiviazione creare per la variabile. Una definizione di variabile specifica un tipo di dati e contiene un elenco di una o più variabili di quel tipo come segue:
type variable_list;
Qui, type deve essere un tipo di dati C ++ valido che includa char, w_char, int, float, double, bool o qualsiasi oggetto definito dall'utente, ecc. e variable_listpuò essere costituito da uno o più nomi di identificatori separati da virgole. Alcune dichiarazioni valide sono mostrate qui -
int i, j, k;
char c, ch;
float f, salary;
double d;
La linea int i, j, k;entrambi dichiara e definisce le variabili i, j e k; che indica al compilatore di creare variabili denominate i, j e k di tipo int.
Le variabili possono essere inizializzate (assegnato un valore iniziale) nella loro dichiarazione. L'inizializzatore è costituito da un segno di uguale seguito da un'espressione costante come segue:
type variable_name = value;
Alcuni esempi sono:
extern int d = 3, f = 5; // declaration of d and f.
int d = 3, f = 5; // definition and initializing d and f.
byte z = 22; // definition and initializes z.
char x = 'x'; // the variable x has the value 'x'.
Per la definizione senza un inizializzatore: le variabili con durata di memorizzazione statica vengono inizializzate implicitamente con NULL (tutti i byte hanno il valore 0); il valore iniziale di tutte le altre variabili non è definito.
Dichiarazione di variabili in C ++
Una dichiarazione di variabile fornisce la garanzia al compilatore che esiste una variabile esistente con il tipo e il nome dati in modo che il compilatore proceda per un'ulteriore compilazione senza bisogno di dettagli completi sulla variabile. Una dichiarazione di variabile ha il suo significato solo al momento della compilazione, il compilatore necessita della definizione di variabile effettiva al momento del collegamento del programma.
Una dichiarazione di variabile è utile quando si utilizzano più file e si definisce la variabile in uno dei file che saranno disponibili al momento del collegamento del programma. Useraiexternparola chiave per dichiarare una variabile in qualsiasi posizione. Sebbene tu possa dichiarare una variabile più volte nel tuo programma C ++, ma può essere definita solo una volta in un file, una funzione o un blocco di codice.
Esempio
Prova il seguente esempio in cui una variabile è stata dichiarata in alto, ma è stata definita all'interno della funzione principale:
#include <iostream>
using namespace std;
// Variable declaration:
extern int a, b;
extern int c;
extern float f;
int main () {
// Variable definition:
int a, b;
int c;
float f;
// actual initialization
a = 10;
b = 20;
c = a + b;
cout << c << endl ;
f = 70.0/3.0;
cout << f << endl ;
return 0;
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
30
23.3333
Lo stesso concetto si applica alla dichiarazione di funzione in cui si fornisce un nome di funzione al momento della sua dichiarazione e la sua definizione effettiva può essere fornita altrove. Ad esempio:
// function declaration
int func();
int main() {
// function call
int i = func();
}
// function definition
int func() {
return 0;
}
Lvalues e Rvalues
Esistono due tipi di espressioni in C ++:
lvalue- Le espressioni che fanno riferimento a una posizione di memoria sono chiamate espressione "lvalue". Un lvalue può apparire come il lato sinistro o destro di un compito.
rvalue- Il termine rvalue si riferisce a un valore di dati archiviato in un indirizzo in memoria. Un rvalue è un'espressione a cui non può essere assegnato un valore, il che significa che un rvalue può apparire sul lato destro ma non sinistro di un compito.
Le variabili sono i valori e quindi possono apparire sul lato sinistro di un compito. I letterali numerici sono rvalues e quindi potrebbero non essere assegnati e non possono essere visualizzati sul lato sinistro. La seguente è una dichiarazione valida:
int g = 20;
Ma quanto segue non è un'affermazione valida e genererebbe un errore in fase di compilazione -
10 = 20;