Ejercicio 4 - Diferencia entre char frase y char *frase

Ejercicio 4 - Diferencia entre char frase y char *frase

de Daniel Edgardo Pellejero Morales -
Número de respuestas: 1
Hola, no se si esté bien mi respuesta a la primer pregunta:
La diferencia es que en el ejercicio 3 hablamos de un arreglo de caracteres en cambio char *frase es un puntero a un arreglo de caracteres.
¿Es correcto esto?
En respuesta a Daniel Edgardo Pellejero Morales

Re: Ejercicio 4 - Diferencia entre char frase y char *frase

de Matias Richart -
Hola.

No exactamente.
Vamos a asumir que en ambos casos lo que queremos es definir un arreglo de caracteres.
La diferencia radica en que en el caso de "char frase [100]", el tamaño del arreglo está definido en tiempo de compilación y su memoria es reservada en ese momento.
En el caso de "char *frase", estamos retrasando la definición del tamaño y la asignación de memoria al tiempo de ejecución. Es decir, en algún momento de la ejecución del programa se ejecutará una sentencia del estilo "frase = new char [tamanio]". Esto lo que hace es pedir memoria para un arreglo de char de largo igual a tamanio.

Luego, en ambos casos la variable "frase" se usa igual, es decir haciendo frase[i] para acceder al char en la posición i.

Saludos