Constantes de Objective-C

Las constantes se refieren a valores fijos que el programa no puede alterar durante su ejecución. Estos valores fijos también se denominanliterals.

Las constantes pueden ser de cualquiera de los tipos de datos básicos, como una constante entera, una constante flotante, una constante de carácter o una cadena literal . También hay constantes de enumeración.

los constants se tratan como variables regulares excepto que sus valores no se pueden modificar después de su definición.

Literales enteros

Un literal entero puede ser una constante decimal, octal o hexadecimal. Un prefijo especifica la base o la raíz: 0x o 0X para hexadecimal, 0 para octal y nada para decimal.

Un literal entero también puede tener un sufijo que sea una combinación de U y L, para unsigned y long, respectivamente. El sufijo puede estar en mayúsculas o minúsculas y puede estar en cualquier orden.

Aquí hay algunos ejemplos de literales enteros:

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

A continuación se muestran otros ejemplos de varios tipos de literales enteros:

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

Literales de coma flotante

Un literal de coma flotante tiene una parte entera, una coma decimal, una parte fraccionaria y una parte exponente. Puede representar literales de coma flotante en forma decimal o exponencial.

Mientras representa en forma decimal, debe incluir el punto decimal, el exponente o ambos y mientras representa en forma exponencial, debe incluir la parte entera, la parte fraccionaria o ambas. El exponente con signo se introduce mediante e o E.

Aquí hay algunos ejemplos de literales de punto flotante:

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

Constantes de carácter

Los literales de caracteres se incluyen entre comillas simples, por ejemplo, 'x' y se pueden almacenar en una variable simple de char tipo.

Un literal de carácter puede ser un carácter simple (por ejemplo, 'x'), una secuencia de escape (por ejemplo, '\ t') o un carácter universal (por ejemplo, '\ u02C0').

Hay ciertos caracteres en C cuando van precedidos de una barra invertida, tendrán un significado especial y se usan para representar como nueva línea (\ n) o tabulación (\ t). Aquí tiene una lista de algunos de esos códigos de secuencia de escape:

Secuencia de escape Sentido
\\ \ personaje
\ ' ' personaje
\ " " personaje
\? ? personaje
\un Alerta o campana
\segundo Retroceso
\F Alimentación de formulario
\norte Nueva línea
\ r Retorno de carro
\ t Pestaña horizontal
\ v Pestaña vertical
\ ooo Número octal de uno a tres dígitos
\ xhh. . . Número hexadecimal de uno o más dígitos

A continuación se muestra el ejemplo para mostrar algunos caracteres de secuencia de escape:

#import <Foundation/Foundation.h>

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

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

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

Literales de cadena

Los literales o constantes de cadena se incluyen entre comillas dobles "". Una cadena contiene caracteres que son similares a los literales de caracteres: caracteres simples, secuencias de escape y caracteres universales. Puede dividir una línea larga en varias líneas usando cadenas literales y separándolas con espacios en blanco.

A continuación, se muestran algunos ejemplos de cadenas literales. Las tres formas son cadenas idénticas.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Definición de constantes

Hay dos formas sencillas en C para definir constantes:

  • Utilizando #define preprocesador.

  • Utilizando const palabra clave.

El preprocesador #define

A continuación se muestra el formulario para usar #define preprocessor para definir una constante -

#define identifier value

El siguiente ejemplo lo explica en detalle:

#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;
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

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

La palabra clave const

Puedes usar const prefijo para declarar constantes con un tipo específico de la siguiente manera:

const type variable = value;

El siguiente ejemplo lo explica en detalle:

#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;
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

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

Tenga en cuenta que es una buena práctica de programación definir constantes en MAYÚSCULAS.