Primer punto: Se guarda de la misma forma en la que se guardan los numeros en las operaciones:
Los números 2 y 4 se guardan en el programa como datos constantes, con la cadena char pasa lo mismo ;).
Cabe destacar una cosa, no es lo mismo poner:
Que poner:
El primero es un puntero que apunta a un valor constante (lo que hemos dicho antes). El segundo crea un array que guarda la cadena puesta a continuación.
Segundo punto: Se copia el puntero char*, esto se puede ver de la siguiente forma:
Código C:
Ver originalchar Cosa[] = "Hola";
Funcion(Cosa);
/...
void Funcion(char* Cosa)
{
Cosa[2] = 'z';
}
Se hace una copia del puntero, pero se apunta a la misma cadena. De modo que los cambios que se hagan en la funcion se ven fuera de la función.