Costanti Objective-C

Le costanti si riferiscono a valori fissi che il programma non può alterare durante la sua esecuzione. Questi valori fissi vengono anche chiamatiliterals.

Le costanti possono essere di uno qualsiasi dei tipi di dati di base come una costante intera, una costante mobile, una costante di carattere o una stringa letterale . Ci sono anche costanti di enumerazione.

Il constants vengono trattate come variabili normali tranne che i loro valori non possono essere modificati dopo la loro definizione.

Letterali interi

Un valore letterale intero può essere una costante decimale, ottale o esadecimale. Un prefisso specifica la base o la radice: 0x o 0X per esadecimale, 0 per ottale e niente per decimale.

Un valore letterale intero può anche avere un suffisso che è una combinazione di U e L, rispettivamente per unsigned e long. Il suffisso può essere maiuscolo o minuscolo e può essere in qualsiasi ordine.

Ecco alcuni esempi di valori letterali interi:

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

Di seguito sono riportati altri esempi di vari tipi di valori letterali interi:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Valori letterali in virgola mobile

Un valore letterale a virgola mobile ha una parte intera, una virgola decimale, una parte frazionaria e una parte esponente. È possibile rappresentare valori letterali a virgola mobile in forma decimale o esponenziale.

Mentre si rappresenta utilizzando la forma decimale, è necessario includere il punto decimale, l'esponente o entrambi e mentre si rappresenta utilizzando la forma esponenziale, è necessario includere la parte intera, la parte frazionaria o entrambe. L'esponente con segno è introdotto da e o E.

Ecco alcuni esempi di valori letterali a virgola mobile:

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

Costanti di carattere

I caratteri letterali sono racchiusi tra virgolette singole, ad esempio "x", e possono essere memorizzati in una semplice variabile di char genere.

Un carattere letterale può essere un carattere semplice (ad esempio, "x"), una sequenza di escape (ad esempio, "\ t") o un carattere universale (ad esempio, "\ u02C0").

Ci sono alcuni caratteri in C quando sono preceduti da una barra rovesciata avranno un significato speciale e sono usati per rappresentare come una nuova riga (\ n) o una tabulazione (\ t). Qui hai un elenco di alcuni di questi codici di sequenza di escape:

Sequenza di fuga Senso
\\ \ personaggio
\ ' ' personaggio
\ " " personaggio
\? ? personaggio
\un Allerta o campanello
\ b Backspace
\ f Avanzamento modulo
\ n Nuova linea
\ r Ritorno in carrozza
\ t Tabulazione orizzontale
\ v Tab verticale
\ ooo Numero ottale da una a tre cifre
\ xhh. . . Numero esadecimale di una o più cifre

Di seguito è riportato l'esempio per mostrare alcuni caratteri della sequenza di escape:

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Hello\tWorld\n\n");
   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

2013-09-07 22:17:17.923 demo[17871] Hello	World

Valori letterali stringa

I valori letterali o le costanti stringa sono racchiusi tra virgolette doppie "". Una stringa contiene caratteri simili ai letterali carattere: caratteri normali, sequenze di escape e caratteri universali. È possibile suddividere una lunga riga in più righe utilizzando stringhe letterali e separandole utilizzando spazi bianchi.

Di seguito sono riportati alcuni esempi di stringhe letterali. Tutte e tre le forme sono stringhe identiche.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Definizione di costanti

Ci sono due semplici modi in C per definire le costanti:

  • Utilizzando #define preprocessore.

  • Utilizzando const parola chiave.

Il preprocessore #define

Di seguito è riportato il modulo per utilizzare il preprocessore #define per definire una costante -

#define identifier value

L'esempio seguente lo spiega in dettaglio:

#import <Foundation/Foundation.h>

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;
   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

2013-09-07 22:18:16.637 demo[21460] value of area : 50
2013-09-07 22:18:16.638 demo[21460]

La parola chiave const

Puoi usare const prefisso per dichiarare le costanti con un tipo specifico come segue:

const type variable = value;

L'esempio seguente lo spiega in dettaglio:

#import <Foundation/Foundation.h>

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

2013-09-07 22:19:24.780 demo[25621] value of area : 50
2013-09-07 22:19:24.781 demo[25621]

Notare che è una buona pratica di programmazione definire le costanti in MAIUSCOLO.