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.