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
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