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




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

                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 143,144 -
                                                                                
          Structures (Структуры).                                               
     -----------------------------------------------------------------          
                                                                                
          Оба языка и Паскаль, и Си позволяют определить унифицирован-          
     ные и неоднородные структуры данных.                                       
                                                                                
          В Паскале они называются records, а в Си - структуры.                 
                                                                                
          Формат для обоих:                                                     
                                                                                
          Турбо Паскаль                        Турбо Си                         
     ----------------------------------------------------------------           
                                                                                
     type                                       typedef struct {                
        =record                             ;              
        :;                           ;              
        :;                            ...                         
         ...                                       ;              
        :                          } ;                     
     end;                                                                       
                                                                                
     var                                                                        
                                                                                
        :;                        ;               
                                                                                
                                                                                
          Существует также более строгий формат в Си для прямого опре-          
     деления структур переменных, более аналогичный формату Паскаля.            
                                                                                
               Турбо Паскаль                        Турбо Си                    
     ----------------------------------------------------------------           
     var                                                                        
        :record                      struct                      
                                             {                                  
        :                        ;                  
         ...                                    ...                             
        :                        ;                  
      end;                                   } ;                        
                                                                                
          В этом варианте,  необязательная структура; вы должны          
     записать ее,  если планируете  объявить  другие  переменные  типа          
     . Кроме  того,  записи в Паскале и структуры в Си довольно          
     близки.                                                                    
                                                                                
          Турбо Паскаль                         Турбо Си                        

                         - 145,146 -
                                                                                
     ----------------------------------------------------------------           
     Type                                                                       
        Student=record                    struct student {                      
        Last,First:string[20];              char last[20],first[20];            
        SSN  : string[11];                  char ssn[11];                       
        Fgt  : Integer;                     int  age;                           
        Tests: array[1..5] if integer;      int  tests [5];                     
        GPA  : Real                         float gra;                          
     end;                                 } current;                            
                                                                                
     var                                  main ()                               
       Current: Student;                  {                                     
     begin                                                                      
       Current.Last='Smith';             strcpy(current.last,"Smith");          
       Current.Age =21;                     current.age=21;                     
       Current.Test[1]=97;                  current.test[0]=97;                 
       Current.GPA=3.94;                    current.gpa=3.94;                   
                                                                                
     end                                  }                                     
                                                                                
                                                                                
          Главное различие между Паскалем и Си в том,  что  в  Паскале          
                                                                                
                                                                                
     имеются операторы,   а в Си - нет.  Мы могли бы переписать код на          
     Паскале, использовав выше оператор with Current do , и затем ссы-          
     латься на   поля  без  указания в начале Current.  В Си вы всегда          
     должны указывать Current в начале.  Однако, Си также имеет опера-          
     тор доступа member (->),  используемый, когда идентификатор слева          
     от оператора является указателем на собственную  структуру.   Для          
     примера, если pstudent является указателем на struct, тогда                
                                                                                
           strcpy(pstudent -> last,"Jones");                                    
                                                                                
     присвоит переменной last строку "Jones".                                   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                





- 147,148 - Union (Объединение). ----------------------------------------------------------------- И Паскаль, и Си содержат сходное понятие, называемое: в Пас- кале - переменная (вариантная) структура записи, a в Си - union (объединение). Конкретные способы его описания показаны в приме- ре: Турбо Паскаль Турбо Си ---------------------------------------------------------------- type =record union { ; case of ; :() ... :() ; ... }; :() end; B Паскале является обычной записью последователь- ностей :;, повторяемой нужное количество раз. Два основных различия между Паскалем и Си в следующем: 1) Паскаль заставляет положить объединение в основу регуляр- ной записи, а Си - нет. Однако, вы можете сначала объявить объ- единение, а затем указать поле в структуре, принадлежащее типу, описанному в объединении. 2) Паскаль позволяет вам иметь множество типов для каждого варианта в объединении. Си позволяет иметь множество полей (), но все должны быть одного типа. Вот образец, написанный в Паскаль и Си версиях, как можно ближе к друг другу (однако, можно допустить, что они не вполне идентичны). Турбо Паскаль Турбо C ---------------------------------------------------------------- type typedef union { trick_word=record int w; - 149,150 - case integer of struct { 0:(w:integer); char lob; 1:(lob,hib:byte); char hib; end; } b; var xp:trick_word; } trick_word; trick_word xc; Примечание: определение trick_word ни в Си, ни в Паскале не переносимо. Они оба зависят от порядка байт 8086. В Си объединении, как и в структуре, вы можете вставить поле между закрытой скобкой и точкой с запятой, чтобы прямо указать переменные того типа. В этом операторе выбора вы можете оставить свободным , если вы не собираетесь указывать больше таких переменных. Полями ссылок в Паскале являются: xp.w, xp.hib и xp.lob, а в Си - xc.w, xc.b.hib и xc.b.lob. Выводы по программированию. ----------------------------------------------------------------- Как программист на Паскале, вы не должны ощущать трудности при изучении Турбо Си. Но есть небольшая область в программирова- нии, которая вызывает некоторые трудности при переходе с языка на язык. Мы обсудим каждый из таких разделов в этой части. Чувствительность к регистрам. ----------------------------------------------------------------- Паскаль, в отличие от Си, не чувствителен к типу букв (строчные - заглавные). Если идентификаторы indx, Indx и INDX в Паскале ссылаются на одинаковые переменные, то в Си - на три раз- личные переменные. Примечание: т.к. вызовы функций не проявляют себя до тех пор пока программа на Си не скомпанована, то различие в регистрах может не чувствоваться. Для вашей собственной пользы будьте точны при выборе регистра на Си. - 151,152 -


Страницы : 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
Форумы политика, лучшие анекдоты
знакомства.