Указатели и массивы Указатели


unsigned long 1nt A = 0Xcc77ffaa



жүктеу 1,96 Mb.
бет6/12
Дата17.01.2022
өлшемі1,96 Mb.
#32980
түріУказатель
1   2   3   4   5   6   7   8   9   ...   12
Указатели и массивы

unsigned long 1nt A = 0Xcc77ffaa:
unsigned short int* pint = (unsigned short int*) &A:
unsigned char* pchar = (unsigned char *) &A:
printfC I ^x I ^x I ^x I". A. *pint. *pchar):
return 0:
}
на IBM РС-совместимом компьютере выведет на экран строку^:
I cc77ffaa | ffaa | аа |
Значения указателей pint и pchar одинаковы, но разадресация pchar дает в резуль­ тате один младший байт по этому адресу, а pint — два младших байта.


  1. приведенном выше примере при инициализации указателей были использова­ ны операции приведения типов. Синтаксис операции явного приведения типа прост: перед именем переменной в скобках указывается тип, к которому ее требу­ ется преобразовать. При этом не гарантируется сохранение информации, поэто­ му в общем случае явных преобразований типа следует избегать. Подробнее опе­ рация приведения типов рассмотрена на с. 231.

При смешивании в выражении указателей разных типов явное преобразование типов требуется для всех указателей, кроме void*. Указатель может неявно пре­ образовываться в значение тина boo! (например, в выражении условного опера­ тора), при этом ненулевой указатель преобразуется в true, а нулевой в false.


Присваивание без явного приведения типов допускается в двух случаях:


  • указателям типа void*:




  • если тип указателей справа и слева от операции присваивания один и тот же.

Старые версии компилятора могут выдать в результате строку | ffaa | сс77 | ffaa

Таким образом, неявное преобразование выполняется только к типу void*. Зна­ чение О неявно преобразуется к указателю на любой тип. Присваивание указате­ лей на объекты указателям на функции (и наоборот) недопустимо. Запрещено и присваивать значения указателям-константам, впрочем, как и константам любо­ го типа (присваивать значения указателям на константу и переменным, на кото­ рые ссылается указатель-константа, допускается).


жүктеу 1,96 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   12




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау