BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 2
Автор ""
Размер 800673 Байт
Страница 33 из 56
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

     ну 32 бита и задают адрес сегмента и смещение.                             
                                                                                
          Иногда, когда  используется модель данных одного размера,  у          
     вас может возникнуть желание объявить указатель  с  размером  или          
     форматом другим чем у используемого по умолчанию.  Вы можете сде-          
     лать это с помощью модификаторов near, far и huge.                         
                                                                                
                                                                                
          Указатель типа near имеет размер 16 бит; он использует теку-          
     щее содержимое регистра сегмента данных (DS)  для определения ад-          
     реса сегмента.   По  умолчанию  он используется для малых моделей          
     данных. При  использовании указателей типа  near,   данные  вашей          
     программы ограничены размером 64 K текущего сегмента данных.               
                                                                                
          Указатель типа  far  имеет размер 32 бита и содержит как ад-          
     рес, так и смещение. По умолчанию он используется для больших мо-          
     делей. При   использовании указателей типа far допускаются ссылки          
     на данные в пределах адресуемого  пространства  1  Мб  процессора          
     Intel 8088/8086.                                                           
                                                                                
          Указатель типа huge имеет размер 32 бита и аналогично преды-          
     дущему, содержит  адрес сегмента и смещение, однако, в отличии от          
     указателей типа far,  указатель huge всегда поддерживается норма-          
     лизованным. Более детально он рассматривается в главе 12, а здесь          
     дается отличие от указателей типа far:                                     
                                                                                
        # Операторы отношения (==, !=, <, >, <=, >=) работают коррект-          
     но с указателями типа huge; но не с указателями типа far.                  
                                                                                

                         - 269,270 -
                                                                                
                                                                                
        # Любые арифметические операции над указателем  huge  воздейс-          
     твуют как на адрес сегмента,  так и на смещение (из-за нормализа-          
     ции); при использовании far указателей - воздействие  распростра-          
     няется только на смещение.                                                 
                                                                                
        # Заданный  указатель типа huge может быть увеличен в пределах          
     1 Мб адресного пространства; указатель типа far,  соответственно,          
     будет циклически переходить на начало сегмента в 64К.                      
                                                                                
        # При  использовании  указателей  типа huge требуется дополни-          
     тельное время, т.к. программы нормализации должны вызываться пос-          
     ле выполнения любой арифметической операции над указателями.               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               Структуры  и  объединения (K&R раздел 8.5)                       
     -----------------------------------------------------------------          
                                                                                
          Турбо Си поддерживает реализацию структур и объединений сог-          
     ласно K&R,  а также обеспечивает следующие дополнительные возмож-          
     ности.                                                                     
                                                                                
                                                                                
                                                                                
          Выравнивание слов                                                     
     -----------------------------------------------------------------          
                                                                                
          Если вы используете опцию -a (Alignment...Word) при компиля-          
     ции, Турбо Си будет заполнять структуру (или объединение) байтами          
     так, как это требуется для выравнивания слов. В результате:                
                                                                                
        # Структура будет начинаться с границы слова (четный адрес).            
                                                                                
        # Любой  элемент  с не-char типом, будет иметь четное смещение          
     от начала структуры.                                                       
                                                                                
        # Если  необходимо, в конец будет добавлен байт  для  гарантии          

                         - 271,272 -
                                                                                
     того, что полная структура содержит четное число байт.                     
                                                                                
                                                                                
                                                                                
          Поля бит                                                              
     -----------------------------------------------------------------          
                                                                                
          В Турбо Си поле бит  может  иметь  тип  либо  signed,   либо          
     unsigned int и может занимать от 1 до 16 бит. Поля бит размещают-          
     ся в направлении от младших к старшим битам в слове. Например,             
                                                                                
         struct mystruct {                                                      
            int             i : 2;                                              
            unsigned        j : 5;                                              
            int               : 4;                                              
            int             k : 1;                                              
            unsigned        m : 4;                                              





} a, b, c; обеспечивает следующее размещение: __________________________________________________ |15|14|13|12|11 |10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0| |--|--|--|--|---|--|--|--|--|--|--|--|--|--|--|--| | x| x| x| x| x | x| x| x| x| x| x| x| x| x| x| x| |-----------|---|-----------|--------------|-----| |<ДДДДДДДДД>|<Д>|<ДДДДДДДДД>|<ДДДДДДДДДДДД>|<ДДД>| |-----------|---|-----------|--------------|-----| | m | k |не использ.| j | i | |___________|___|___________|______________|_____| Поля целого типа хранятся в одной из двух форм; самый левый бит - знаковый бит. Например, поле бит типа signed int шириной 1 бит может хранить только значение -1 или 0, и любое ненулевое значение будет интерпретироваться как -1. - 273,274 - Операторы (K&R 9) ----------------------------------------------------------------- В Турбо Си реализованы все операторы, описанные в K&R, без исключений и модификаций. Определения внешних функций (K&R 10.1) ----------------------------------------------------------------- В Турбо Си описание extern, заданное внутри функции, имеет действие в пределах данного блока. Описание не будет распозна- ваться вне блока, в котором оно определено. Однако, Турбо Си бу- дет запоминать описания, для того чтобы сопоставить их с последу- ющими описаниями тех же самых объектов. Турбо Си поддерживает большинство предложенных ANSI расшире- ний к определениям функций K&R, включая, в частности, дополни- тельные модификаторы функций и прототипы функций. Турбо Си под- держивает также несколько собственных расширений и определений функций, таких как функции типа interrupt (прерывание). Модификаторы типа функции (K&R 10.1.1) ----------------------------------------------------------------- В дополнение к external и static, Турбо Си поддерживает ряд модификаторов, специфицирующих описания функций: pascal, cdecl, interrupt, near, far и huge. Модификатор функции pascal -------------------------- Модификатор pascal, используемый в Турбо Си, предназначен для функций (и указателей на функции), которые используют приня- тую в Паскале последовательность передачи параметров. Это позво- ляет писать на языке Си функции, которые могут быть вызванными из программ, написанных на других языках; а также обращаться из ва- ших Си программ к внешним программам, написанным на языках отлич- ных от Си. Имя функции преобразуется к верхнему регистру, для правильной работы компоновщика. Примечание: использование опции компилятора -p (Calling - 275,276 - convention...Pascal) будет вызывать обращение со всеми функциями (и указателями на эти функции) как если бы они были типа pascal. Кроме того, функции, объявленные типа pascal, могут вызываться из Си программ, также как и Си программа может быть вызвана из функ- ции, имеющей тип pascal. Например, если вы объявили и откомпили- ровали следующую функцию: pascal putnums(unt i, int j, int k) { printf("And the answers are: %d, %d и %d\n",i,j,k); } другая Си программа может затем компоноваться с ней и обращаться к ней, используя описание: pascal putnums(int i, int j, int k); main() { putnums(1,4,9); } Функции типа pascal не могут иметь различное число аргумен-


Страницы : 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 [33] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.