определить функцию, возвращающую указатель структуры
Пожалуйста, потерпите меня, я из другого языка и новичка в C и учусь у негоhttp://c.learncodethehardway.org/book/learn-c-the-hard-way.html
<code>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; } </code>
Я понимаю, что вторая функция Person_create возвращает указатель структуры Person. Я не понимаю (может быть потому, что я из другого языка, erlang, ruby), почему он определяет его как
<code>struct Person *Person_create(char *name, int age, int height, int weight) </code>
не
<code>struct Person Person_create(char *name, int age, int height, int weight) </code>
и есть ли другой способ определить функцию для возврата структуры?
извините, если этот вопрос слишком простой.