Турбо С: руководство пользователя. Часть 2

Турбо С: руководство пользователя. Часть 2 - Стр. 30

Печать PDF
Индекс материала
Турбо С: руководство пользователя. Часть 2
Стр. 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
Стр. 33
Стр. 34
Стр. 35
Стр. 36
Стр. 37
Стр. 38
Стр. 39
Стр. 40
Стр. 41
Стр. 42
Стр. 43
Стр. 44
Стр. 45
Стр. 46
Стр. 47
Стр. 48
Стр. 49
Стр. 50
Стр. 51
Стр. 52
Стр. 53
Стр. 54
Стр. 55
Стр. 56
Все страницы
     вольные  или строковые константы,перед которым находится обратный          
     слеш (\). В таблице 11.3 приведен список всех разрешенных  после-          
     довательностей, а те что отмечены звездочкой (*) являются  допол-          
     нением к списку, приведенному в K&R.                                       
                                                                                

                         - 243,244 -
                                                                                
          Таблица 11.3. Escape последовательности Турбо Си                      
     -----------------------------------------------------------------          
     Последовательность  Значение  Символ     Что делает                        
     -----------------------------------------------------------------          
                                                                                
     * \a                  0x07     BEL       Звуковой сигнал                   
       \b                  0x08     BS        
                                                                                
                                                                                
                                                                                
                                                                                

                         - 247,248 -
                                                                                
                                                                                
              Зависимость от аппаратных средств (K&R 2.6)                       
     -----------------------------------------------------------------          
                                                                                
          В K&R признается,  что размер и числовой  диапазон  основных          
     типов данных   (со всеми вариациями)  очень зависит от конкретной          
     архитектуры компьютера.  Это справедливо для Турбо Си и для боль-          
     шинства  других  компиляторов  Си. В таблице 11.4 приведен список          
     размеров и соответствующих диапазонов для различных типов  данных          
     в Турбо Си.                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
          Таблица 11.4. Типы данных, размеры и диапазоны в Турбо Си             
     -----------------------------------------------------------------          
        Тип             Размер (в битах)        Диапазон                        
     -----------------------------------------------------------------          
                                                                                
      unsigned char           8                   0 - 255                       
      char                    8                -128 - 127                       
      enum                    16             -32768 - 32767                     
      unsigned short          16                  0 - 65535                     
      short                   16             -32768 - 32767                     
      unsigned int            16                  0 - 65535                     
      int                     16             -32768 - 32767                     
      unsigned long           32                  0 - 4294967295                
      long                    32        -2147483648 - 2147483647                
      float                   32            3.4E-38 - 3.4E+38                   
      double                  64           1.7E-308 - 1.7E+308                  
      long double             80          3.4E-4932 - 1.1E+4932                 
      pointer                 16     (указатели near,_cs,_ds,_es,_ss)           
      pointer                 32     (указатели far, huge)                      
                                                                                
                                                                                
                                                                                

                         - 249,250 -
                                                                                
              Преобразования (K&R 6)                                            
     -----------------------------------------------------------------          
                                                                                
          Турбо Си поддерживает стандартные механизмы по  автоматичес-          
     кому преобразованию одного типа данных в другой. Следующие разде-          
     лы поясняют дополнения к K&R или раскрывают специфические тонкос-          
     ти данной реализации.                                                      
                                                                                
                                                                                
                                                                                
          Char, int и enum (K&R 6.1)                                            
     -----------------------------------------------------------------          
                                                                                
          Преобразование символьной  константы к целому типу имеет ре-          
     зультатом 16-битное значение,  поскольку и одно,  и двусимвольные          
     константы представляются   16-битным значением (см.  K&R 2.4.3.).          
     Результат преобразования символьного объекта (такого как перемен-          
     ная) к    целочисленному  объекту автоматически получает знаковое          
     расширение, если вы не сделали по умолчанию тип char беззнаковым,          
     используя при  компиляции опцию -k.  Объекты типа signed char при          
     преобразовании их в int всегда  используют  знаковое  расширение;          
     объекты типа   unsigned  char всегда устанавливают старший байт в          
                                                                                
     ноль.                                                                      
                                                                                
          Значения типа enum преобразуются в int без модификации; ана-          
     логично значения, имеющие тип int, могут преобразовываться в зна-          
     чения перечислимого типа enum, а символы преобразуются в int зна-          
     чения и обратно.                                                           
                                                                                
                                                                                
                                                                                
          Указатели (K&R 6.4)                                                   
     -----------------------------------------------------------------          
                                                                                
          В Турбо  Си различные указатели вашей программы,  могут быть          
     различных размеров,  в зависимости от используемой модели  памяти          
     или используемого модификатора типа указатель. Например, когда вы          
     компилируете программу, используя конкретную модель памяти, адре-          
     суемые модификаторы (near, far, huge, _cs, _ds, _es, _ss) в вашем          
     исходном тексте могут изменять размер указателя,  заданный данной          
     моделью памяти.                                                            
                                                                                
          Указатель должен  быть  объявлен  как указатель на некоторый          
     конкретный тип,  даже если данный тип - void (который в  действи-          

                         - 251,252 -