por favor tengan paciencia conmigo, i m de otro idioma y novato en C y el aprendizaje desde http://c.learncodethehardway.org/book/learn-c-the-hard-way.htmldefinir una función que devuelve el puntero estructura
struct Person {
char *name;
int age;
int height;
int weight;
};
struct Person *Person_create(char *name, int age, int height, int weight)
{
struct Person *who = malloc(sizeof(struct Person));
assert(who != NULL);
who->name = strdup(name);
who->age = age;
who->height = height;
who->weight = weight;
return who;
}
entiendo la segunda función Person_create devuelve un puntero de la Persona estructura. No entiendo es (puede ser porque soy de otro idioma, Erlang, rubí), ¿por qué lo definen como
struct Person *Person_create(char *name, int age, int height, int weight)
no
y hay otra manera de definir una función para devolver una estructura?
lo siento si esta pregunta es demasiado básica.
Comprender la diferencia entre 'Persona *' y 'Persona'. 'Persona *' es un puntero al objeto, mientras que 'Persona' es el objeto mismo. Ambos son diferentes tipos, como por ejemplo 'int *' y 'int' difieren. – Mahesh
entonces, 'struct Person * Person_create' es lo mismo que' struct Person * Person_create', y 'struct Person * Person_create'? '' 'posición no importa? – allenhwkim
sí, el espacio en blanco alrededor de '*' no importa aquí. –