АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Спецификаторы типов

Читайте также:
  1. II. Оценка соответствия наименования СИЗ и нормы их выдачи наименованиям СИЗ и нормам их выдачи, предусмотренным типовыми нормами
  2. Анализ циклограммы типового пневмопривода
  3. АРТЕРИИ ЭЛАСТИЧЕСКОГО ТИПА ОТЛИЧАЮТСЯ ОТ ДРУГИХ ТИПОВ _________________ (1)
  4. Атипова пневмонія (5АК8)
  5. В выражении можно смешивать без явного приведения типов только совместимые данные.
  6. В составе эпителия - клетки нескольких типов.
  7. Вирионы бывают 3-х типов симметрии: 1)Кубический(форма икосаэдра-20ти гранник:23 плоскости,12 вершин,30 ребер; предст-аденовир)
  8. Вирусы типов В и С стабильны.
  9. Вопрос №11. Типология логотипов.
  10. Г) перечень типовых управленческих документов, образующихся в деятельности организации, с указанием сроков их хранения
  11. Глава 4. Характеристика типов излучений.
  12. Деятельность по созданию типовых объектов - конструкции, технологических правил, форм документаций

Язык Си поддерживает определения для множества базовых ти­пов данных, называемых "основными" типами. Названия этих типов перечислены в Табл. 4.1.

------------------------------------------------------------

Типы целых Типы плавающих Другие типы

------------------------------------------------------------

signed char float void

signed int double

signed short intsigned long int

unsigned char

unsigned int

unsignet short int unsigned long int

-----------------------------------------------------------

Табл. 4.1. Основные типы.

Перечислимые типы также рассматриваются как основные типы. Спецификаторы перечислимых типов рассмотрены в разделе 4.7.1. Ти­пы signed char, signed int, signed short int и signed long int

вместе с соответствующими двойниками unsigned называются типами целых.

Спецификаторы типов float и double относятся к типу "плава­ющих". В об"явлениях переменых и функций можно использовать любые спецификаторы "целый" и "плавающий".

Тип void может быть использован только для об"явления функ­ций, которые не возвращают значения. Типы функций рассмотрены в разделе 4.4.

Можно задать дополнительные спецификаторы типа путем об"яв­ления typedef, описанного в разделе 4.7.2.

При записи спецификаторов типов допустимы сокращения как показано в табл. 4.2. В целых типах ключевое слово signed может быть опущено. Так, если ключевое слово unsigned опускается в за­писи спецификатора типа, то тип целого будет знаковым, даже если опущено ключевое слово signed.

В некоторых реализациях могут быть использованы опции ком­пилятора, позволяющие изменить умолчание для типа char со знако­вого на беззнаковый. Когда задана такая опция, сокращение char имеет то же самое значение, что и unsigned char, и следовательно ключевое слово sidned должно быть записано при об"явлении сим­вольной величины со знаком.

-----------------------------------------------------------

Спецификатор типа Сокращение

-----------------------------------------------------------

signed char char

signed int signed, int

signed short int short, signed short

signed long int long, signed long

unsigned char -

unsigned int unsigned

unsigned short int unsignet short

unsignet long int unsignet long

float -

long float double

------------------------------------------------------------

Табл. 4.2. Спецификаторы и сокращения

Замечание: в этом руководстве в основном используются сок­ращенные формы, перечисленные в Табл. 4.2, при этом предполагает­ся, что char по умолчанию знаковый.

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

-----------------------------------------------------------

Тип Представление Область значений

в памяти величины

-----------------------------------------------------------

char 1 байт -128 до 127

int зависит от

реализации

short 2 байта -32768 до 32767

long 4 байта -2.147.483.648 до 2.147.483.647

unsigned char 1 байт 0 до 255

 

unsigned зависит от

реализации

unsigned short 2 байта 0 до 65535

unsigned long 4 байта 0 до 4.294.967.295

float 4 байта IEEE стандартное

соглашение

double 8 байт IEEE стандартное

соглашение ------------------------------------------------------------

Табл 4.3 Размер памяти и область значений типов

Тип char используется для запоминания буквы, цифры или сим­вола из множества представимых символов. Значением об"екта типа char является ASCII код, соответствующий данному символу. Так как тип char интерпретируется как однобайтовая целая величина с об­ластью значений от -128 до 127, то только величины от 0 до 127

имеют символьные эквиваленты. Аналогично, тип unsigned char может запоминать величины с областью значений от 0 до 255.

Заметим, что представление в памяти и область значений для типов int и unsigned int не определены в языке Си. По умолчанию размер int (со знаком и без знака) соответствует реальному разме­ру целого на данной машине. Например, на 16-ти разрядной машине тип int всегда 16 разрядов или 2 байта. На 32-ух разрядной машине тип int всегда 32 разряда или 4 байта. Таким образом, тип int эк­вивалентен типам short int или long int в зависимости от реализа­ции.

Аналогично, тип unsigned int эквивалентен типам unsigned short или unsigned long. Спецификаторы типов int и unsigned int широко используются в программах на Си, поскольку они позволяют наиболее эффективно манипулировать целыми величинами на данной машине.

Однако, размер типов int и unsigned int переменный, поэтому программы, зависящие от специфики размера int и unsigned int мо­гут быть непереносимы. Переносимость кода можно улучшить путем включения выражений с sizeof операцией.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)