Bien.
Vamos a continuar con más tipos de datos en el lenguaje C.
Vamos a ver ahora el tipo lógico, el.
Así que eso se le conoce como un valor lógico, ya que sus valores únicamente pueden ser el valor de
true o el valor de false y el valor que se asocia al valor de falso es el valor de cero.
Así que sólo tenemos estas dos opciones el valor de true o false.
Sin embargo, para poder trabajar con este tipo de dato en el lenguaje C no tenemos acceso directamente
a ese tipo de dato.
Lo primero que tenemos que hacer es importar una librería, una biblioteca, esto para que podamos utilizar
ese tipo de dato.
Así que vamos al inicio de nuestro programa y de manera similar a cuando incluimos la librería de ese
tipo.
Vamos a incluir ahora la siguiente librería.
Vamos a poner la directiva include.
Posteriormente, entre paréntesis, ponemos lo siguiente Vamos a poner la librería STD también de estándar,
pero ahora el tipo bool.
Así que vamos a importar esta librería STD al punto H para que podamos utilizar el tipo de dato como
vamos a ver a continuación.
Así que tenemos nuestra variable.
Ahora sí, ya podemos utilizar este tipo de dato que se va a llamar variable lógico y le vamos a asignar
de manera inicial el valor de true.
Sin embargo, también no tenemos un especificado de formato para que podamos mandar imprimir este valor
lógico.
Por ello vamos a utilizar el especificados de formato como si fuera un valor de tipo entero, ya que
recordemos que el valor asociado a true es el valor de uno, es decir, que es un valor en decimal o
si es el valor de falso, se va a imprimir el valor de cero, que también es un valor en decimal.
Así que para ello, para mandar a imprimir el valor asociado a esta variable, agregamos un salto de
línea y posteriormente indicamos el tipo de dato lógico dos puntos y utilizamos el especificados de
formato de tipo decimal.
Por lo que hemos comentado mandamos a imprimir esta variable.
Bien, vamos a ejecutar y podemos llevar que el valor es el valor de uno, ya que como hemos comentado
se va a imprimir el valor decimal asociado a este tipo lógico, aunque el valor es true.
Recordemos que se asocia el valor en decimal, el valor de uno y si asignamos por ejemplo el valor de
false, volvemos a ejecutar.
Entonces el valor decimal asociado es el valor de cero.
Vamos a regresar el valor por el valor de true, pero ya sabemos que tenemos estas dos opciones el valor
de true o el valor de false.
Y si ejecutamos nuestra animación podemos observar que el valor lógico que le estamos asignando es el
valor de uno, aunque ya sabemos que el valor lógico es realmente true.
Bien, esos son los tipos de datos básicos cuando trabajamos en el lenguaje C, Sin embargo, también
va a ser muy recurrente trabajar con cadenas.
Para ello vamos a adelantar un poco el concepto de arreglos.
Este concepto de arreglos lo vamos a ver a detalle posteriormente.
Sin embargo, para que de manera inicial podemos trabajar con cadenas en el lenguaje C, vamos a adelantar
un poco este tema, así que básicamente un arreglo.
Es un conjunto.
De datos.
Y además estos datos se encuentran.
Ubicados de forma consecutiva.
En la memoria, es decir, en la memoria RAM.
Así que podemos llevar en nuestra animación que tenemos la definición de una variable llamada cadena.
El tipo de dato se conoce como array en inglés o arreglo en español y tenemos diferentes casillas para
almacenar cada uno de estos caracteres.
Podemos ver que tenemos índices para poder ya sea acceder a cada uno de estos elementos o también para
recuperar esta información almacenada en cada una de estas celdas.
A esto se le conoce como celda o casilla de nuestro arreglo y por ejemplo, en este caso este arreglo
contiene cinco caracteres de 0 a 4, así que por ello va desde los índice cero hasta el índice cuatro.
Cabe señalar que en el lenguaje C los índices de un arreglo comienzan en cero.
Esto para poder acceder a cada uno de sus elementos.
Todo esto lo vamos a estudiar a detalle en el tema de arreglos, pero vamos a adelantarlo brevemente
para que, como hemos comentado, podemos trabajar con el concepto de cadenas.
Así que vamos a crear esta variable de tipo cadena.
Así que vamos a definir un tipo cadena y el formato para mandar a imprimir es porcentaje S.
La S significa que es un string.
Es decir, una cadena.
Y para definir una cadena vamos a hacer lo siguiente vamos a utilizar el tipo de dato char, ya que
va a ser un arreglo de caracteres, un arreglo de valores de tipo char.
Posteriormente indicamos el nombre de nuestra variable, pero la diferencia es que vamos a utilizar
corchetes.
Con esto lo que estamos indicando es que vamos a almacenar varios valores, es decir, varias celdas,
tantas como necesitemos para almacenar esta cadena.
Así que con esta sintaxis estamos indicando que vamos a crear una cadena en memoria y posteriormente
le vamos a asignar una cadena en la cadena que necesitemos.
Por ejemplo, en este caso la cadena de Hola y si ejecutamos nuestra animación podemos observar lo siguiente
Tenemos definida nuestra variable cadena, que es un arreglo de caracteres como ya hemos comentado y
en memoria se visualizará de la siguiente forma Aunque solamente tenemos cuatro caracteres, podemos
observar que nuestro arreglo contiene cinco caracteres, ya que en el lenguaje para trabajar correctamente
con las cadenas de caracteres, al final tenemos que dejar el carácter de fin de cadena, es decir,
el carácter de diagonal inversa cero.
Si no agregamos este carácter, entonces podríamos tener problemas para trabajar con cadenas.
En este caso, por la sintaxis que estamos utilizando de manera automática, se está agregando este
carácter de fin de cadena.
Pero van a existir casos en los que tengamos que agregar nosotros directamente este carácter.
Todo va a depender de cómo trabajemos con las cadenas en el lenguaje C, pero si las creamos de esta
forma, es decir, especificando el tipo de dato, posteriormente el nombre de la variable e indicando
que va a ser simplemente un arreglo.
No tenemos que especificar cuántos caracteres va a tener esta cadena.
Simplemente con asignarle la cadena se crea de manera automática esta cadena en memoria, incluyendo
el carácter de salto de línea.
Así que esta es una forma de crear las cadenas en el lenguaje C Vamos a mandar a imprimir esta información.
Recordemos que el especificados de formato es porcentaje S, así que agregamos un salto de línea, imprimimos
el tipo de cadena con especificados de formato porcentaje S y agregamos la variable de cadena.
Vamos a ejecutar y podemos ver que se imprime el valor de la variable cadena.
El valor de Hola.
Pero podemos observar que no se imprime el carácter de fin de cadena.
Este carácter solamente es para control interno, sobre todo para las funciones que manejan las cadenas
en el lenguaje C.
Todo esto lo vamos a ir viendo poco a poco, pero básicamente son los detalles iniciales.
Cuando trabajamos con cadenas en el lenguaje C podemos observar que cuando se manda a imprimir no se
imprime el carácter de fin de cadena, pero sí es importante que entendamos que en memoria sí se debe
de incluir este carácter.
Pero si utilizamos esta sintaxis de manera automática, se incluye el carácter de fin de cadena.
Ya en su momento veremos en qué casos no se incluye este carácter y entonces nosotros tendríamos que
agregarlo.
Otra forma de crear una cadena.
Otra sintaxis sería la siguiente Vamos a definir nuestra variable también de tipo char.
Se va a llamar la variable cadena dos.
Pero en este caso sí vamos a especificar cuántos caracteres queremos ocupar en memoria.
En este caso le estamos indicando que queremos almacenar como máximo diez caracteres, pero debe incluir
el carácter de fin de cadena.
Así que podemos hacer lo siguiente Le asignamos una cadena que como máximo tenga nueve caracteres,
ya que el 10.º carácter va a ser el carácter de fin de cadena.
En este caso, esta cadena solamente contiene siete caracteres.
Como podemos observar, vamos a mandarla a imprimir.
Le agregamos un salto de línea tipo cadena dos.
Qué porcentaje ese?
Y mandamos a imprimir la variable cadena dos.
Si ejecutamos tenemos lo siguiente Tenemos el tipo cadena dos.
Se manda a imprimir correctamente la cadena de saludos y si ejecutamos en memoria podemos saber que
tenemos lo siguiente Tenemos nuestra cadena dos.
Es un arreglo con los índices de 0 a 9, ya que son diez caracteres entre cero y nueve.
Son diez caracteres en total, tal cual como hemos solicitado en memoria que se reserve esta cantidad
de celdas para esta cadena.
Ahora, aquí también.
Lo interesante es que podemos observar que los caracteres de los índices 0 a 6 se encuentran en nuestra
cadena, cada uno de los caracteres de la cadena de saludos, pero los demás caracteres podemos observar
que tenemos el carácter de fin de cadena.
Así que este será el primer carácter de fin de cadena que encontramos.
Pero los demás caracteres, como se encuentran vacíos, también tienen el carácter de fin de cadena.
Así que esa es otra forma de trabajar con cadenas en el lenguaje C Ya más adelante vamos a ver también
otras opciones, pero esto es lo básico.
Como hemos comentado, esta es la forma en que podemos asignar cadenas, ya sea asignando directamente
una cadena sin especificar cuántos caracteres necesitamos o la otra forma es asignar la cadena, pero
especificando cuántos caracteres queremos utilizar en memoria.
Sin embargo, aquí si especificamos menos caracteres de los que le estamos asignando.
Esto nos arroja un error.
Vamos a comprobar.
Recordemos que esta cadena necesita siete caracteres y nosotros solamente estamos solicitando cinco
caracteres en memoria.
Vamos a ejecutar.
Y entonces podemos observar el error que nos arroja.
Aquí también un detalle es que los errores se encuentran en inglés, así que tenemos que empezar a familiarizarnos
con el idioma inglés y también a entender ese tipo de errores.
Por ejemplo, aquí lo que nos está diciendo es que la cantidad de caracteres que queremos utilizar para
nuestro arreglo es demasiado larga, así que estamos tratando de asignar siete caracteres en un arreglo
únicamente de cinco celdas.
Por lo tanto, nos faltan caracteres y recordemos que debemos incluir espacio para el carácter de fin
de cadena.
Así que incluso si especificamos que esta cadena contenga siete caracteres y ejecutamos, podemos observar
que la cadena se imprime en apariencia correctamente, pero podemos ver que como no hemos reservado
espacio de memoria para el carácter de fin de cadena, entonces el siguiente espacio en memoria realmente
no contiene el carácter de fin de cadena.
Por lo tanto, al final de esta cadena tenemos información basura.
En este caso se vuelve a imprimir la cadena de Hola, pero bien podría mandar a imprimir cualquier otro
carácter, ya que no se consideró el espacio para el fin de la cadena.
Por lo tanto, es importante que además de los caracteres que vamos a ocupar para nuestra cadena, consideremos
un caracter más, que es el carácter de fin de cadena.
Vamos a revisar si agregamos un carácter más.
Aquí necesitamos siete caracteres, pero agregamos uno más.
En este caso vamos a solicitar ocho caracteres y podemos observar que ahora, si se imprime correctamente
nuestra cadena en memoria, ya reservamos espacio para este carácter de fin de cadena y ya no se imprime
ningún tipo de información basura.
Esto va a ser bastante importante con el manejo de cadenas en el lenguaje C debemos de reservar espacio
de memoria suficiente para los caracteres que estamos utilizando y un carácter más para el carácter
de fin de cadena o diagonal inversa cero.
Bien, eso es todo por esta lección de tipos de datos.
Ponganlo en práctica y nos vemos en el siguiente vídeo.
Saludos.