Книга: Язык Си - руководство для начинающих

Другие типы

Другие типы

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

     В языке Си имеются и другие типы данных, построенные с использованием основных типов. Они включают в себя массивы, указатели, структуры и объединения. Хотя эти типы являются пред метом рассмотрения последующих глав, мы, не подозревая об этом, уже применили указатели в примерах, приведенных в данной главе. [Указатели используются функцией scanf( ); признаком этого в данном случае служит префикс &.]

 

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

Таблица 3.1.Представление типов данных в некоторых известных вычислительных системах

Размер слова DEC PDP-11 16 бит DEC VAX 32 бита Interdata 8/3  32 бита IBM PC (Lattice C)  16 бит
char 8 8 8 8
int 16 32 32 16
short 16 16 16 16
long 32 32 32 32
float 32 32 32 32
double 64 64 64 64
Диапазон порядка ±38 ±38 ±76 -307 + 308 (double)

     Как обстоит дело на вашей машине? Попробуйте выполнить нижеследующую программу:

main( )

{

    printf(" Данные типа int занимают %d байта. n", sizeof (int));

    printf(" Данные типа char занимают %d байт.n", sizeof (char));

    printf(" Данные типа long занимают %d байта.n", sizeof (long));

    printf(" Данные типа double занимают %d байт.n", sizeof (double));

}

     В языке Си имеется встроенная операция sizeof, которая позволяет определить размер объектов в байтах.

     Мы определили размеры данных только четырех типов, но вы легко можете модифицировать эту программу и найти размер объекта любого другого интересующего вас типа.

Оглавление книги


Генерация: 1.368. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз