Другие типы

We use cookies. Read the Privacy and Cookie Policy

Другие типы

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

     В языке Си имеются и другие типы данных, построенные с использованием основных типов. Они включают в себя массивы, указатели, структуры и объединения. Хотя эти типы являются пред метом рассмотрения последующих глав, мы, не подозревая об этом, уже применили указатели в примерах, приведенных в данной главе. [Указатели используются функцией 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 байта. ", sizeof (int));

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

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

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

}

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

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