Por que el profesor dijo que el \0 se usa para evitar el signo de interrogacion, pero luego solo aumento el tamaño del array y funciono d...

Pregunta de la clase:
Strings y memoria
Leonardo Ernesto Solórzano Carrasquero

Leonardo Ernesto Solórzano Carrasquero

Pregunta
student
hace 6 años

Por que el profesor dijo que el \0 se usa para evitar el signo de interrogacion, pero luego solo aumento el tamaño del array y funciono de igual manera?

6 respuestas
    Fernando Rocha Olivera

    Fernando Rocha Olivera

    student
    hace 6 años

    Hay una particularidad en las cadenas de caracteres, que siempre debes contar el carácter '\0' al final de una cadena por ejemplo :

    Si usamos una cadena de 4 caracteres como es el caso para: char cadena[4] = {'H','O','L','A'} nos muestra el signo de interrogación, esto sucede porque debemos tener en cuenta el carácter '\0' también, es decir debe ser así de la siguiente manera: char cadena[5] = {'H','O','L','A','\0'} es por esta razón que el profesor utilizo su nombre de 19 caracteres sin contar el '\0' y es por eso que le muestra el signo de interrogación y el profesor al aumentar el número de caracteres del array a 20 soluciona el problema.

    Jose Adriel Madrigal Gonzalez

    Jose Adriel Madrigal Gonzalez

    student
    hace 6 años

    Hola, como dice frochaolivera

    Existe una diferencia entre no poner el caracter nulo al final de tu arreglo

    Y es que C no va a tomar tu arreglo como una cadena, sino le pones al final ese caracter nulo

    Solo es un arreglo de caracteres, como un arreglo de enteros si lo quieres ver de esa manera.

    Entonces para que C lo interprete como una cadena, se ocupa agregar ese ultimo caracter nulo

    Espero te sea de ayuda, buen dia

    Ronald Rengifo

    Ronald Rengifo

    student
    hace 6 años

    Quedé exactamente con la misma duda y no meo como usar el ejemplo usando \0, no me es clara las definiciones de los compañeros

    Stiven Andres Arevalo

    Stiven Andres Arevalo

    student
    hace 6 años

    @ronaldrengifob Revisa bien el ejemplo del compañero @frochaolivera, lo explica bastante bien

    José Ignacio

    José Ignacio

    student
    hace 5 años

    El problema sucede cuando se determina como un arreglo definido, lo que confunde es que el profesor habla del \0 pero no lo escribe en el ejercicio es como si por defecto la cadena contemplara este "carácter(\0") al final y al aumentar en uno la cantidad del arreglo el sistema lee el "carácter (\0)" y se da cuenta que allí termina.

    Irving Juárez

    Irving Juárez

    student
    hace 5 años

    Has de cuenta que todos los arrays delimitados tienen ese signo de interrogacion que lo que hace es decir que el string esta siendo delimitado hasta ese punto

Curso de Introducción a C 2019

Curso de Introducción a C 2019

Domina las bases para programar en C, el Lenguaje de Programación de propósito general usado para programar microcontroladores y sistemas operativos. Comprende la estructura de C, el lenguaje base de lenguajes avanzados como C++.

Curso de Introducción a C 2019
Curso de Introducción a C 2019

Curso de Introducción a C 2019

Domina las bases para programar en C, el Lenguaje de Programación de propósito general usado para programar microcontroladores y sistemas operativos. Comprende la estructura de C, el lenguaje base de lenguajes avanzados como C++.