Entiendo que cuando pongo char*Str=NULL lo que estoy declarando es un puntero cuyo contenido es NULL.
Lo que no entiendo es cuando str= CARGA().
No entiendo muy bien es como funciona la siguiente linea "str=CARGA();".
Que es lo que hace esta funcion?.
Entiendo que hace que str= direccion de memoria del otro puntero.
Pero si estoy haciendo eso...no deberia poner *str=CARGA() para que el contenido de mi puntero str sea la direccion de esa memoria?.
Osea que es lo que se guarda en el contenido de STR? y porque con un simple %s sale la frase cuando deberia poner un asterisco?..
Código
#include <stdio.h> #include <stdlib.h> char*CARGA(); void CARGA2(char**); int main() { char *str=NULL; str=CARGA(); CARGA2(&str); return 0; } char*CARGA() { char*texto=NULL; int i=0; char letra; letra=getche(); while(letra!='\r') { *(texto+i)=letra; i++; letra=getche(); } *(texto+i)='\0'; return texto; }