определить функцию, возвращающую указатель структуры

Пожалуйста, потерпите меня, я из другого языка и новичка в 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>

и есть ли другой способ определить функцию для возврата структуры?

извините, если этот вопрос слишком простой.

Ответы на вопрос(5)

Ваш ответ на вопрос