MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

C Cadenas


Cadenas

Las cadenas se utilizan para almacenar texto/caracteres.

Por ejemplo, "Hello World" es una cadena de caracteres.

A diferencia de muchos otros lenguajes de programación, C no tiene un tipo de cadena para crear fácilmente variables de cadena. En su lugar, debes usar el tipo char y crear una matriz de caracteres para crear una cadena en C:

char greetings[] = "Hello World!";

Tenga en cuenta que debe utilizar comillas dobles ("").

Para generar la cadena, puede usar la función printf() junto con el especificador de formato %s para indicar C que ahora estamos trabajando con cadenas:

Ejemplo

char greetings[] = "Hello World!";
printf("%s", greetings);
Inténtalo tú mismo »

Cadenas de acceso

Dado que las cadenas son en realidad matrices en C, puede acceder a una cadena consultando su número de índice entre corchetes [].

Este ejemplo imprime el primer carácter (0) en greetings (saludos):

Ejemplo

char greetings[] = "Hello World!";
printf("%c", greetings[0]);
Inténtalo tú mismo »

Tenga en cuenta que tenemos que utilizar el especificador de formato %c para imprimir un carácter único..


Modificar cadenas

Para cambiar el valor de un carácter específico en una cadena, consulte el número de índice y utilice comillas simples:

Ejemplo

char greetings[] = "Hello World!";
greetings[0] = 'J';
printf("%s", greetings);
// Salidas Jello World! en lugar de Hello World!
Inténtalo tú mismo »

Bucle a través de una cadena

También puedes recorrer los caracteres de una cadena, usando un bucle for:

Ejemplo

char carName[] = "Volvo";
int i;

for (i = 0; i < 5; ++i) {
  printf("%c\n", carName[i]);
}
Inténtalo tú mismo »

Y como especificamos en el capítulo matrices, también puedes usar la fórmula sizeof (en lugar de escribir manualmente el tamaño de la matriz en el bucle condición (i < 5)) para hacer que el bucle sea más sostenible:

Ejemplo

char carName[] = "Volvo";
int length = sizeof(carName) / sizeof(carName[0]);
int i;

for (i = 0; i < length; ++i) {
  printf("%c\n", carName[i]);
}
Inténtalo tú mismo »

Otra forma de crear cadenas

En los ejemplos anteriores, utilizamos un "literal de cadena" para crear una variable de cadena. Esta es la forma más sencilla de crear una cadena en C.

También debes tener en cuenta que puedes crear una cadena con un conjunto de caracteres. Este ejemplo producirá el mismo resultado que el ejemplo al principio de esta página:

Ejemplo

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
printf("%s", greetings);
Inténtalo tú mismo »

¿Por qué incluimos el carácter \0 al final? Esto se conoce como "carácter de terminación nulo" y debe incluirse al crear cadenas usando este método. Le dice a C que este es el final de la cadena.


Diferencias

La diferencia entre las dos formas de crear cadenas es que el primer método es más fácil de escribir y no es necesario incluir el carácter \0, como C lo hará por ti.

Debes tener en cuenta que el tamaño de ambas matrices es el mismo: ambas tienen 13 caracteres (por cierto, el espacio también cuenta como un carácter), incluido el carácter \0:

Ejemplo

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
char greetings2[] = "Hello World!";

printf("%lu\n", sizeof(greetings));   // Salidas 13
printf("%lu\n", sizeof(greetings2));  // Salidas 13
Inténtalo tú mismo »

Ejemplo de la vida real

Utilice cadenas para crear un mensaje de bienvenida sencillo:

Ejemplo

char message[] = "Good to see you,";
char fname[] = "John";

printf("%s %s!", message, fname);
Inténtalo tú mismo »

C Ejercicios

Ponte a prueba con ejercicios

Ejercicio:

Complete la parte que falta para crear una "cadena" llamada greetings (saludos) y asígnele el valor "Hello".

  = ;