Выдает ли использование sizeof неправильный размер для указателей структуры?

Используя valgrind для чтения, я получаю: Неверная запись / чтение размером 4

 struct Person{
        char* name;
        int age;
    };

    struct Person* create_person(char *name, int age)
    {
        struct Person* me = (struct Person*)malloc(sizeof(struct Person*));
        assert(me!= NULL); //make sure that the statement is not null
        me->name = name;
        me->age = age;

        return me;
    }

Используя это получил чистый лог с valgrind

struct Person{
    char* name;
    int age;
};

struct Person* create_person(char *name, int age)
{
    struct Person* me = (struct Person*)malloc(sizeof(struct Person*)+4);
    assert(me!= NULL); //make sure that the statement is not null
    me->name = name;
    me->age = age;

    return me;
}

Почему я должен явно указатьsizeof(struct+intSize) чтобы избежать этой ошибки?sizeof не получить весь размер структуры?

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

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