LINUX.ORG.RU

История изменений

Исправление Ivan_qrt, (текущая версия) :

Я это всё прекрасно понимаю. Я не понимаю почему операция разыменования не производится в случае, если тип указателя int64_t (*)[x]. Но производится, если это int64_t *.

    printf("%p\n", p6[3]);
    printf("%p\n", (*(p6 + 3)));
    printf("%p\n", (p6 + 3));

Возвращают одинаковые адреса.

В компиляторе для оператора разыменования специальный костыль (полиморфизм по возвращаемому значению?)? Или я всё-таки чего-то не понимаю?

baldman88, GPFault вопрос не в том, как это работает, а в том, почему это работает.

Исходная версия Ivan_qrt, :

Я это всё прекрасно понимаю. Я не понимаю почему операция разыменования не производится в случае, если тип указателя int64_t (*)[x]. Но производится, если это int64_t *.

    printf("%p\n", p6[3]);
    printf("%p\n", (*(p6 + 3)));
    printf("%p\n", (p6 + 3));

Возвращают одинаковые адреса.

В компиляторе для оператора разыменования специальный костыль (полиморфизм по возвращаемому значению?)? Или я всё-таки чего-то не понимаю?