Menu
Coddy logo textTech

Cadenas al estilo C - Parte 2

Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 68 de 74.

Es importante recordar que cuando declaras una cadena de estilo C con un tamaño específico, necesitas asignar suficiente espacio para los caracteres que quieres almacenar, más un espacio extra para el carácter nulo.

Por ejemplo:

// Correcto: "Hello" necesita 6 espacios
// (5 letras + '\0')
char str1[6] = "Hello";
// Incorrecto: ¡El arreglo es demasiado pequeño!
// "Hello" necesita 6 espacios, pero solo se dieron 5
char str2[5] = "Hello";
// Esto podría causar problemas
// Correcto: El espacio extra está bien
// Espacio más que suficiente (se necesitan 10 > 6)
char str3[10] = "Hello";
// Ejemplo que muestra el recuento de caracteres:
char name[5] = "John";  // Necesita 5 espacios:
// J + o + h + n + '\0' = 5 caracteres

Puedes acceder a caracteres individuales en una cadena de estilo C utilizando la notación de arreglos:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

También puedes modificar caracteres en una cadena de estilo C, siempre y cuando no excedas los límites del arreglo:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Muestra "Jello"

Sin embargo, no puedes asignar directamente una nueva cadena a una cadena de estilo C después de que ha sido declarada. Necesitarás usar funciones como strcpy para copiar cadenas, lo cual cubriremos en lecciones posteriores.

Hoja de referencia

Al declarar cadenas de estilo C, asigne espacio para todos los caracteres más uno para el terminador nulo '\0':

// Correcto: "Hello" necesita 6 espacios (5 letras + '\0')
char str1[6] = "Hello";

// Incorrecto: ¡El arreglo es demasiado pequeño!
char str2[5] = "Hello"; // Esto podría causar problemas

// Correcto: El espacio extra está bien
char str3[10] = "Hello";

Acceda a caracteres individuales utilizando la notación de arreglos:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

Modifique caracteres dentro de los límites del arreglo:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Imprime "Jello"

Nota: No puede asignar directamente una nueva cadena a una cadena de estilo C después de la declaración. Use funciones como strcpy para copiar cadenas.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos