Introducción
En este laboratorio, aprenderás cómo crear e iterar a través de una matriz de cadenas en el lenguaje de programación C. Declararás una matriz de cadenas, iterarás a través de ella utilizando un bucle while, manejarás cadenas terminadas en nulo y mostrarás cada cadena en la matriz. Estas habilidades son esenciales para trabajar con datos de texto y construir aplicaciones C más complejas.
El laboratorio cubre los siguientes pasos: declarar una matriz de cadenas, iterar a través de la matriz con un bucle while, manejar cadenas terminadas en nulo, mostrar cada cadena en la matriz y compilar y ejecutar el programa C. Al completar este laboratorio, adquirirás una sólida comprensión de cómo trabajar con matrices de cadenas en C, que es un concepto fundamental en la programación en C.
Declarar una matriz de cadenas
En este paso, aprenderás cómo declarar una matriz de cadenas en el lenguaje de programación C. Las matrices de cadenas son estructuras de datos poderosas que te permiten almacenar múltiples cadenas en una sola variable.
- Abre el WebIDE y crea un nuevo archivo llamado
string-array.cen el directorio~/project:
cd ~/project
touch string-array.c
- Abre el archivo en el WebIDE y agrega el siguiente código:
#include <stdio.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
}
Este código demuestra cómo declarar una matriz de cadenas en C. Analicemos los componentes clave:
const char*indica una matriz de punteros a cadenas constantesfruits[]es el nombre de la matriz- La matriz contiene cuatro nombres de frutas como cadenas
NULLse utiliza para marcar el final de la matriz, lo cual será útil en iteraciones futuras
Ten en cuenta que esta matriz está terminada en nulo, lo que significa que el último elemento es NULL. Esta es una práctica común en C para matrices de cadenas, ya que ayuda a determinar el final de la matriz durante la iteración.
Iterar a través de la matriz con un bucle while
En este paso, aprenderás cómo iterar a través de una matriz de cadenas utilizando un bucle while en el lenguaje de programación C. A partir del paso anterior, modificaremos el archivo string-array.c para mostrar el contenido de la matriz de frutas.
- Abre el archivo
string-array.cen el WebIDE: - Actualiza el código para incluir un bucle
whilepara iterar a través de la matriz:
#include <stdio.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
int i = 0;
while (fruits[i]) {
printf("Fruit: %s\n", fruits[i]);
++i;
}
}
Analicemos la lógica de iteración:
int i = 0inicializa un contador de índicewhile (fruits[i])continúa el bucle hasta que alcanza el terminadorNULLprintf("Fruit: %s\n", fruits[i])muestra el nombre de cada fruta++iincrementa el índice para pasar al siguiente elemento
- Compila el programa:
gcc string-array.c -o string-array
- Ejecuta el programa compilado:
./string-array
Ejemplo de salida:
Fruit: Apple
Fruit: Banana
Fruit: Cherry
Fruit: Date
El bucle while te permite iterar a través de la matriz verificando el terminador NULL, que indica el final de la matriz. Este método es una forma común y eficiente de recorrer matrices de cadenas en C.
Manejar cadenas terminadas en nulo
En este paso, aprenderás sobre las cadenas terminadas en nulo y cómo se utilizan para marcar el final de las matrices de cadenas en la programación en C. Comprender la terminación en nulo es crucial para trabajar con matrices de cadenas.
- Abre el archivo
string-array.cen el WebIDE: - Modifica el código para demostrar la terminación en nulo y la longitud de las cadenas:
#include <stdio.h>
#include <string.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
int i = 0;
while (fruits[i]) {
printf("Fruit: %s\n", fruits[i]);
printf("Length of %s: %lu\n", fruits[i], strlen(fruits[i]));
++i;
}
printf("Total number of fruits: %d\n", i);
}
Modificaciones clave:
- Se agregó
#include <string.h>para utilizar la funciónstrlen() - Se utilizó
strlen()para demostrar la longitud de las cadenas - Se agregó un conteo del total de frutas utilizando el índice del bucle
- Compila el programa:
gcc string-array.c -o string-array
- Ejecuta el programa compilado:
./string-array
Ejemplo de salida:
Fruit: Apple
Length of Apple: 5
Fruit: Banana
Length of Banana: 6
Fruit: Cherry
Length of Cherry: 6
Fruit: Date
Length of Date: 4
Total number of fruits: 4
Comprensión de la terminación en nulo:
- El
NULLal final de la matriz actúa como un valor centinela - Ayuda a determinar el final de la matriz durante la iteración
strlen()funciona contando caracteres hasta que alcanza el terminador nulo (\0)- El bucle se detiene cuando encuentra el puntero
NULL
Imprimir cada cadena en la matriz
En este paso, explorarás diferentes formas de mostrar cadenas de una matriz, incluyendo opciones de formato y técnicas avanzadas de impresión.
- Abre el archivo
string-array.cen el WebIDE: - Actualiza el código para demostrar múltiples técnicas de impresión:
#include <stdio.h>
#include <string.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
// Método 1: Impresión básica con índice
printf("Método 1: Impresión básica\n");
int i = 0;
while (fruits[i]) {
printf("%d: %s\n", i + 1, fruits[i]);
++i;
}
// Método 2: Impresión formateada con alineación
printf("\nMétodo 2: Impresión formateada\n");
i = 0;
while (fruits[i]) {
printf("| %-10s | Longitud: %2lu |\n", fruits[i], strlen(fruits[i]));
++i;
}
// Método 3: Impresión con formato adicional
printf("\nMétodo 3: Impresión avanzada\n");
i = 0;
while (fruits[i]) {
printf("Fruta #%d: [%s] tiene %lu caracteres\n",
i + 1, fruits[i], strlen(fruits[i]));
++i;
}
}
- Compila el programa:
gcc string-array.c -o string-array
- Ejecuta el programa compilado:
./string-array
Ejemplo de salida:
Método 1: Impresión básica
1: Apple
2: Banana
3: Cherry
4: Date
Método 2: Impresión formateada
| Apple | Longitud: 5 |
| Banana | Longitud: 6 |
| Cherry | Longitud: 6 |
| Date | Longitud: 4 |
Método 3: Impresión avanzada
Fruta #1: [Apple] tiene 5 caracteres
Fruta #2: [Banana] tiene 6 caracteres
Fruta #3: [Cherry] tiene 6 caracteres
Fruta #4: [Date] tiene 4 caracteres
Técnicas de impresión demostradas:
- Indexación básica con
printf() - Impresión formateada con ancho y alineación
- Formato avanzado con información adicional
- Uso de
strlen()para obtener la longitud de la cadena
Resumen
En este laboratorio, aprendiste cómo declarar una matriz de cadenas en la programación en C, lo que te permite almacenar múltiples cadenas en una sola variable. También aprendiste cómo iterar a través de la matriz utilizando un bucle while, manejar cadenas terminadas en nulo y mostrar cada cadena en la matriz. Estas técnicas son fundamentales para trabajar con estructuras de datos de cadenas en C y proporcionan una base sólida para tareas más avanzadas de manipulación de cadenas.



