Problemas con el almacenamiento de datos C en la memoria
Para los punteros a las cadenas char *str y const char *str, la variable del puntero en sí se colocará en la pila o en el área de datos estáticos de acuerdo con su alcance, pero obviamente queremos mirar el carácter al que apunta. por la posición de la cadena del puntero.
Para const char *str, dado que es un puntero a una cadena constante, la cadena a la que apunta debe especificarse al escribir el programa y no se puede modificar. Por ejemplo, const char *str="¡Hola mundo!", la cadena "¡Hola mundo!" se almacena en el área constante literal y el valor del puntero str es la dirección de memoria del primer carácter.
Para char *str, el método de uso es más flexible. Puede apuntar a una cadena constante en el código del programa, como char *str="Hello World!", y esta cadena se almacena en. el texto En el área constante también puede asignar dinámicamente memoria para el puntero str cuando el programa se está ejecutando, como str = malloc (sizeof(char)*10); y otras cadenas diversas para ello. Todas las operaciones se realizan en el montón.