Что такое указатель на тип объекта в C?

c pointers object

5346 просмотра

1 ответ

Например,

int x = 10;

Затем значение 10сохраняется где-то в памяти. Я слышал о «указателе на объект int», но никогда не слышал о «указателе на тип объекта». Означает ли это, что объект, в котором 10хранится, сохраняет информацию о типе значения, хранящегося в объекте, а значение «указатель на тип объекта» показывает, где эта информация хранится в памяти?

Автор: Jin Источник Размещён: 08.11.2019 11:04

Ответы (1)


4 плюса

Решение

Я думаю, что текст, упоминающий «указатель на тип объекта», говорит о типе, представляющем «указатель на объект», то есть указатель на что-то.

Означает ли это, что объект, в котором хранится 10, сохраняет информацию о типе значения, хранящегося в объекте?

Информация о типе переменных, которые вы объявляете в C, актуальна только в процессе компиляции вашей программы. Как только ваша программа скомпилирована, информация о типе исчезает. Нет информации о типе для хранения в памяти во время выполнения.

Вот одно место, где стандарт C99 упоминает «указатель на тип объекта»:

6.5.2.1 Массив подписки

Одно из выражений должно иметь тип «указатель на тип объекта», другое выражение должно иметь целочисленный тип, а результат имеет тип «тип»

Это означает, что выражение указателя должно быть указателем на объект данных определенного типа. Это не может быть указатель на функцию или указатель на данные без определенного типа (то есть void*).

Автор: dasblinkenlight Размещён: 20.08.2016 08:35
Вопросы из категории :
32x32