Студенту >> Язык программирования Си


Основные типы данных языка Си

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

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

Назначение типа  имени  осуществляется  с помощью описания типа.

БНФ:
       описание_типа =
             ["const "] имя_типа " " имя ["=" константа]
                               { "," имя ["=" константа] } ";"

Если в описании присутствует ключевое слово const, то описываемое данное объявляется как немодифицируемое,  то есть  его значение  не может быть изменено в процессе выполнения программы.

Если в описании имеется знак "=" и константа соответствующего  типа,  то  вместе  с объявлением переменной происходит ее инициализация, то есть присваивание начального значения.

В языке Си предопределены несколько имен типов:

  БНФ:
           имя_типа = "int" | "short" | "long" | "char" |
                      "float" | "double"

int - целый длиной 2 байта, диапазон значений  -32768 ... +32767;

short - целый короткий, для IBM PC аналогичен int;

long - целый длиной 4 байта, диапазон значений  -2*109 ... 2*109

char - символьный длиной 1 байт, его можно рассматривать как целое -128...+127 (иногда 0...255);

float - тип данных с плавающей точкой, длиной 4 байта, вещественное число  с  диапазоном  значений  от ±8.4·10-37 до ±3.3·1038 и 6-ю значащими цифрами;

double - тип данных с плавающей точкой,  длиной 8 байт, вещественное   число   с   диапазоном   значений  от ±2.2·10-308 до ±1.8·10308 и 14-ю значащими цифрами;

Примеры описаний:

     int a, b=4, c;           /* описывает целые переменные  a,b,c */
                              /* и инициализирует переменную b     */
     float speed, line;       /* описывает вещественные переменные */
                              /* speed, line                       */
     const double pi=3.14159; /* описывается имя pi, которое */
                              /* используется как константа  */
                              /* типа double                 */

Вещественный тип данных следует использовать в тех  случаях,  когда данное в принципе может иметь дробную часть.  Например,  его надо использовать для описания почти всех  физические величин:  длины,  массы, времени и т.д. Иногда величина, вообще говоря,  целая,  но большая настолько,  что типа данных long не хватает.  В этом случае тоже используется вещественный тип данных. Однако необходимо учитывать, что все арифметические действия с вещественными типами выполняются приближенно.

Целый тип данных часто используется для организации флагов, счетчиков, индексов и т.д.

НАВЕРХ