Hola y bienvenido de nuevo. En esta conferencia, quiero hablar sobre cadenas constantes.
Sabemos que los literales de cadena o una constante de cadena están entre comillas dobles.
Pero ¿qué pasa con la variable en sí? ¿Cómo puede asegurarse de que la
variable nunca pueda cambiar ese valor?
Esto se conoce como una constante. Entonces, una cadena constante
a veces es necesaria en su programa
donde no desea que los valores de sus variables cambien nunca.
Entonces, por ejemplo, si estamos creando una circunferencia de algún
cálculo, haríamos 3. 14159 veces el diámetro.
3. 14159 es una constante. Nunca cambia.
Representa pi.
Entonces sería muy bueno si en lugar de usar ese número mágico, pudiéramos
usar una variable y asegurarnos de que esa variable nunca cambie.
Entonces, hay buenas razones para
usar una constante simbólica en lugar de simplemente escribir el número cada vez.
En primer lugar, un nombre te dice mucho más que un número.
Deuda es igual a 0. 015 veces el valor de la vivienda
es mucho menos significativo que lo que se debe equivale a la tasa de impuestos multiplicada por el valor.
Por eso queremos tener nombres de variables que representen
números que nunca cambian.
Si lee un programa extenso, el significado
de la versión de la segunda visión es mucho más claro.
Es mucho más fácil mirar ese código y entender que 0. 015 representa la tasa impositiva.
Suponga que ha usado una constante en varios lugares
y se hace necesario cambiar su
valor, tendría que ir y cambiar ese valor en todas partes del
programa en lugar de simplemente cambiar en un lugar donde define esa constante.
Hablé de esto antes cuando utilizo el término números mágicos.
A eso se refiere esto.
Siempre que vea un número usado en un programa, no está almacenado en
una variable, por lo general es mejor crear ese número y ponerlo en una constante.
Porque entonces, si lo usa varias veces y esa variable
cambia, todo lo que tiene que hacer es
cambiarlo una vez. No tiene que cambiarlo en todos los lugares donde lo use.
Así que evita los números mágicos, usa constantes.
Una forma de definir una constante en c es utilizarla para
definir la directiva de preprocesador.
Entonces, esta directiva de preprocesador le permite definir constantes, y de
hecho la usé en un par de programas. Ahora intento ayudar a explicarlo.
Entonces, si quisiera hacer una tasa impositiva y fuera
una constante, podría decir definir con el signo de libra antes.
Sabemos que es una directiva de preprocesador debido al signo de almohadilla,
y luego diríamos el nombre y luego el valor.
Cuando se compila su programa, el valor 0. 015 se sustituirá en todos
los lugares en los que haya utilizado la tasa impositiva, como
una variable, pero en realidad no es una variable.
No puede asignar ningún otro valor a eso.
Si fuera una variable, podría asignarle
datos, pero no en este caso porque es un preprocesador.
Entonces, la directiva del preprocesador dice que no puede asignar
datos y lo especifica con define.
Así que observe la sintaxis de esto. Tiene el símbolo de libra seguido de una palabra clave definida.
Y luego, después de eso, tienes tu nombre.
No estamos usando ningún operador de asignación.
Solo tenemos nuestro nombre y luego el espacio y luego el valor.
Entonces, para asignar un valor a esa definición, todo lo que necesita es un espacio.
No hay punto y coma al final. No es una declaración. Es muy específico.
Entonces, lo que está sucediendo aquí es que se está produciendo una sustitución del tiempo
de compilación para estos preprocesadores. El preprocesador se ejecuta antes de que el compilador lo recuerde.
El preprocesador se ejecutará y verá estas raíces de acarreo definidas. Y luego, dondequiera que vea una tasa impositiva,
simplemente se pondrá en 0. 015 para el compilador.
Las declaraciones definidas pueden aparecer en cualquier parte del programa.
No existe una definición local. Una vez que tenga una definición,
cualquiera puede usarla.
Ahora, la mejor práctica o convención es colocar las declaraciones
definidas al principio del programa o
dentro de un archivo de inclusión si desea compartir
en más de un archivo fuente pero no tiene que hacerlo.
Debido a que se ejecuta en el preprocesador,
no tiene ningún alcance, no tiene ningún ámbito local o global.
Puedes ponerlo en cualquier lugar. Y en cualquier parte del programa puede verlo,
incluso si se está utilizando antes de que se defina.
Las declaraciones definidas también son muy buenas porque ayudan a que sus programas sean más portátiles.
A veces, puede usar una declaración definida y relacionarla con una computadora en particular en la que se está
ejecutando cuando el programa se está ejecutando, y obtendrá ese mismo valor.
La declaración definida también se puede usar para caracteres y constantes de cadena,
no solo para números. Si quisiéramos hacer algo así, perfectamente válido.
Simplemente encierre los caracteres individuales dentro de una sola comilla.
Y si realmente desea poner un literal de cadena completo,
simplemente póngalo entre comillas dobles. Y eso es lo que está haciendo esto.
Otra forma de crear constantes y ver es un
mecanismo más reciente. C90 agregó básicamente otra forma
que proporciona el modificador constante.
Puede utilizar la palabra clave constante para convertir una declaración de una variable en una declaración de una constante.
Y esto le permitirá nunca poder cambiar esa variable. Entonces, todo lo que hace es decir const y
luego el nombre del tipo de datos y luego el nombre de la variable.
Y lo que esto hace en este ejemplo ahora hará que los meses sean una constante simbólica para 12.
No lo llamamos variable porque una variable puede cambiar,
por eso se llama variable.
Tienes constantes o variables y
la constante en meses no es una variable, no cambia.
Constant convierte meses en un valor de solo lectura.
Puede mostrar meses y usarlo en cálculos. No se puede alterar el valor de los meses.
Entonces, las constantes son importantes si no desea que los datos
cambien, y también pueden reemplazar los números mágicos.
Const es un enfoque más nuevo y es más flexible que usar define.
Te permite declarar un tipo.
También tiene un mejor control sobre qué partes
de un programa pueden usar la constante.
Por lo tanto, debería usar constante siempre que pueda, pero verá
muchos programas usando definido porque fue el primer mecanismo.
Además, hay una tercera forma de crear una constante,
y es usando la enumeración. Recuerde, hablamos de enumeraciones.
Las enumeraciones son una forma de crear su
propio tipo de variable y solo tienen ciertos datos asociados. No puede cambiar el valor de las enumeraciones.
Una vez que defina una enumeración, debe tener esos valores.
Puede tener diferentes valores, pero sigue siendo
una especie de forma de crear una constante simbólica, no una forma completa, sino una especie de forma.
Además, con const, puede inicializar una matriz de caracteres y declararla como una constante, esa
es una buena forma de manejar mensajes estándar.
Entonces, si dices que el mensaje const char es igual a que el fin del mundo
está cerca, eso declarará el mensaje como una constante y estará protegido para que no
se modifique explícitamente dentro de tu programa. Cualquier intento de intentar modificar el mensaje haciendo una
copia str resultará en un mensaje de error del compilador.
Y ahora puede usar esto para un mensaje estándar que puede
mostrarse como salida en varias partes del programa.
La técnica para definir mensajes estándar es particularmente útil si se
usan en muchos lugares, como mencioné.
Evita la modificación accidental de tales constantes en otras partes del programa, al
igual que los números mágicos.
Entonces, las constantes desea usarlas en
su programa, dos formas de emplearlas esencialmente, usando la palabra
clave define y usando la palabra clave constante.
Por favor, preste atención a esto.
Es posible que lo vea en algunos ejemplos próximos.
Gracias.