prega di portare con me, I m dalla lingua e novizio di c e di apprendimento da http://c.learncodethehardway.org/book/learn-c-the-hard-way.htmldefinire una funzione che restituisce puntatore struct
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;
}
Capisco la seconda funzione Person_create restituisce un puntatore di persona struct. Io non capisco è (forse perché im da altre lingue, Erlang, rubino), perché ci si definiscono come
struct Person *Person_create(char *name, int age, int height, int weight)
non
e c'è altro modo per definire una funzione restituire una struttura?
scusa se questa domanda è troppo semplice.
Comprendere la differenza tra "Persona *" e "Persona". 'Person *' è un puntatore all'oggetto mentre 'Person' è l'oggetto stesso. Entrambi sono tipi differenti come il modo in cui 'int *' e 'int' differiscono. – Mahesh
quindi, 'struct Person * Person_create' è lo stesso di' struct Person * Person_create', e 'struct Person * Person_create'? La posizione '*' non ha importanza? – allenhwkim
sì, lo spazio bianco attorno a "*" non ha importanza qui. –