En C, las cadenas de caracteres son secuencias de caracteres terminadas en nulo (\0
). Son fundamentales para trabajar con texto en programas en C. Aquí tienes diferentes formas de declarar e inicializar cadenas.
#include
int main() {
// Declaración e inicialización de una cadena
char cadena1[] = "Hola, mundo!";
// Declaración de una cadena y luego inicialización
char cadena2[10];
cadena2[0] = 'H';
cadena2[1] = 'o';
cadena2[2] = 'l';
cadena2[3] = 'a';
cadena2[4] = '
#include
int main() {
// Declaración e inicialización de una cadena
char cadena1[] = "Hola, mundo!";
// Declaración de una cadena y luego inicialización
char cadena2[10];
cadena2[0] = 'H';
cadena2[1] = 'o';
cadena2[2] = 'l';
cadena2[3] = 'a';
cadena2[4] = '\0'; // Agrega el carácter nulo al final
// Declaración de una cadena con tamaño específico
char cadena3[20] = "¡Hola!";
printf("Cadena 1: %s\n", cadena1);
printf("Cadena 2: %s\n", cadena2);
printf("Cadena 3: %s\n", cadena3);
return 0;
}
'; // Agrega el carácter nulo al final
// Declaración de una cadena con tamaño específico
char cadena3[20] = "¡Hola!";
printf("Cadena 1: %s\n", cadena1);
printf("Cadena 2: %s\n", cadena2);
printf("Cadena 3: %s\n", cadena3);
return 0;
}
Las cadenas de caracteres son esenciales para manejar texto en programas en C. Aquí tienes diferentes formas de declarar e inicializar cadenas:
Declaración e Inicialización Directa:
char cadena1[] = "Hola, mundo!";
. El compilador determinará automáticamente el tamaño basado en la longitud de la cadena de inicialización.Declaración y Luego Inicialización:
\0
) al final de la cadena para indicar el final de la cadena.Declaración con Tamaño Específico:
\0
.Es importante recordar que todas las cadenas en C deben terminar con el carácter nulo (\0
).
En C, hay varias funciones estándar que se utilizan para manipular cadenas de caracteres. Aquí están algunas de las más comunes:
strcpy()
: Copia una cadena en otra.strcat()
: Concatena una cadena al final de otra.strlen()
: Calcula la longitud de una cadena.strcmp()
: Compara dos cadenas.
#include
#include
int main() {
char destino[20];
char origen[] = "Hola";
// strcpy(): Copia una cadena en otra
strcpy(destino, origen);
printf("strcpy(): %s\n", destino);
// strcat(): Concatena una cadena al final de otra
strcat(destino, " Mundo!");
printf("strcat(): %s\n", destino);
// strlen(): Calcula la longitud de una cadena
int longitud = strlen(destino);
printf("strlen(): %d\n", longitud);
// strcmp(): Compara dos cadenas
char cadena1[] = "Hola";
char cadena2[] = "Hola";
int comparacion = strcmp(cadena1, cadena2);
if (comparacion == 0) {
printf("strcmp(): Las cadenas son iguales\n");
} else {
printf("strcmp(): Las cadenas son diferentes\n");
}
return 0;
}
En C, puedes leer y escribir cadenas de caracteres utilizando las funciones de entrada y salida estándar (printf()
y scanf()
). Aquí tienes cómo hacerlo:
#include
int main() {
char cadena[100];
// Entrada de una cadena
printf("Ingrese una cadena: ");
scanf("%s", cadena); // Lee una cadena hasta encontrar un espacio en blanco o un salto de línea
printf("Cadena ingresada: %s\n", cadena);
// Salida de una cadena
printf("Salida de cadena: %s\n", cadena);
return 0;
}
Entrada de una Cadena:
scanf("%s", cadena);
para leer una cadena de caracteres desde la entrada estándar. %s
indica que estamos leyendo una cadena. Ten en cuenta que scanf()
detendrá la lectura al encontrar un espacio en blanco o un salto de línea.Salida de una Cadena:
printf("Salida de cadena: %s\n", cadena);
para imprimir la cadena en la salida estándar.Recuerda que scanf()
puede ser riesgoso si la entrada del usuario es más larga que el tamaño del buffer. Para evitar desbordamientos de búfer, es recomendable usar fgets()
para leer cadenas de manera segura.