Каков тип данных указателя в c? - PullRequest
11 голосов
/ 20 октября 2010

указатели целочисленного или беззнакового типа данных?

Ответы [ 6 ]

24 голосов
/ 20 октября 2010

Нет. Это указатели, размер которых зависит от системы и чей единственный совместимый тип - void*.

8 голосов
/ 20 октября 2010

Указатели имеют тип указателя. Если вы спрашиваете о том, как значения указателя представлены в памяти, это действительно зависит от платформы. Они могут быть простыми целочисленными значениями (как в модели плоской памяти), или они могут быть структурированными значениями, такими как номер страницы и смещение (для сегментированной модели), или они могут быть чем-то совершенно другим.

3 голосов
/ 14 марта 2017

В C указатель может обращаться к переменным любых типов данных. Указатель должен быть объявлен с типом данных переменной, на которую будет указывать указатель. Чтобы напечатать адрес указателя в шестнадцатеричном формате, используйте %p, а для печати адреса в других формах - %u. Если указатель будет использоваться для отображения значения указывающей переменной, используйте *pointer_name и только для адреса используйте pointer_name.

0 голосов
/ 17 октября 2016

int * p;

тип данных * p - указатель.И это указывает на переменную целочисленного типа.Он хранит адрес в шестнадцатеричном формате.

0 голосов
/ 22 июля 2013

Каков тип данных указателя в C?это единственный вопрос.

Не следует отклоняться от вопроса, чтобы дать какое-либо объяснение указателям в качестве ответа на вопрос?

Ответ.

  1. Какое имя типа данных набора интергеров в C?Имя - int, которое является именем множества, состоящего из всех допустимых целых чисел.Следовательно, мы объявляем int x;где x может принять любое значение из набора.

  2. Аналогично, как называется набор всех допустимых адресов или указателей?.Название набора может быть только символом «*», как я понимаю, хотя в повествованиях языка Си нигде не видно объяснений.

Следовательно, мы объявляем переменную-указатель как * x;где * - имя типа данных.В противном случае, почему тип данных указателя должен быть продуман и приведен под определенный пользователем тип данных.Поскольку имеются все ячейки ОЗУ, тип данных '*' образует подмножество допустимых и приемлемых ячеек памяти.Следовательно, это имя типа данных набора указателей.

int является модификатором, как в знаке char c;где подпись является модификатором в C.Hence, мы можем иметь int * x;означает, что данные в расположении являются целым числом, которое является необходимой информацией для компилятора.

C говорит о типе данных указателя как о типе данных пользователя.Возможно, неправильно указывать тип данных указателя как пользовательский тип данных, поскольку пользователь не имеет никакого контроля над набором указателей в наборе, исходя из основной концепции int - это имя набора, float - это имя набора, char - этоимя набора символов, double - имя набора чисел высокой точности, color - имя типа данных в enum color = {blue, red, yellow).

0 голосов
/ 13 июля 2013

Указатели на любой тип данных, который может иметь тип char / int / float / double / ... являются только целыми числами без знака.

Причина: поскольку указатель хранит адрес, который является местоположением в памяти компьютера, он всегда положительный, не может быть отрицательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...