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

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

Печать 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
Все страницы
                          массивами и символьными указателями.                  
     -----------------------------------------------------------------          
                                                                                
          Предположим, что мы имеем следующие операторы:                        
                                                                                
          сhar  *str1, str2[30];                                                
          str1 = "This is test";                                                
          str2 = "This is another test";                                        
                                                                                
          Первое присвоение доступно,  второе - нет. Почему? str1 ука-          
     зывает на строку, и когда транслятор видит этот оператор присвое-          
     ния, он  создает строку "This is test" где-нибудь в вашем объект-          
     ном файле и присваивает адрес str1.                                        
                                                                                
          Напротив, str2 - постоянный указатель блока из 30 байт;вы не          
     можете изменить адрес, который он содержит. То, что вы хотите на-          
     писать, будет:                                                             
                                                                                
          strcpy (str2, "This is another test");                                
                                                                                
          В этом варианте из постоянной строки  "This is another test"          

                         - 177,178 -
                                                                                
                                                                                
     байт за байтом копируется  в область, адресуемую str2.                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               Ошибка #7: забывание о том, что Си чувствителен                  
                          к размеру букв (строчные-заглавные).                  
     -----------------------------------------------------------------          
                                                                                
          В  Паскале идентификаторы  indx,  Indx,  INDX все одинаковы;          
     заглавные и строчные буквы  являются тождественными.  В Си - нет.          
     Если вы напишите:                                                          
                                                                                
          int       Indx;                                                       
                                                                                
     а потом:                                                                   
                                                                                
          for (indx=1; indx                                                    
          #define  LMAX  100                                                    
                                                                                
          Если вы забудете и введете  #define LMAX 100;, тогда препро-          
     цессор подставит 100; везде где встретится LMAX, (точка с запятой          
     и все).                                                                    
                                                                                
          Запомните -  Си требует внимательности от программистов.  Вы          
     должны быть более точными, чем при программировании на языке Пас-          
     каль.                                                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 181,182 -
                                                                                
                                                                                
                             Г Л А В А  10                                      
                             --------------                                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
            ИНТЕРФЕЙС МЕЖДУ ТУРБО СИ И ТУРБО ПРОЛОГОМ.                          
     -----------------------------------------------------------------          
                                                                                
          Теперь, получив знания по Турбо Си, вы можете объединить два          
     очень мощных языка,  реализованных в настоящий момент на PC. Ком-          
     понуя  модули Турбо Си с модулями Турбо Пролога,  вы можете,  тем          
     самым, "подключать" искусственный интеллект (ИИ) к своим приклад-          
     ным программам,  написанным на Турбо Си. Если вы опытный програм-          
     мист, работающий на Си, то должны были отметить несколько преиму-          
     ществ  Турбо  Си перед другими реализациями языка Си.  Если же вы          
     только изучаете Си,  то сейчас самый подходящий момент для  того,          
     чтобы посмотреть, как Турбо Си и Турбо Пролог дополняют друг дру-          
     га.                                                                        
                                                                                
          Турбо Си - процедурный язык, а Турбо Пролог - язык, базирую-          
     щийся на логическом программировании. Связывание ваших прикладных          
     программ,  написанных на Турбо Си и на Турбо Прологе,  может дать          
     следующие преимущества интеллектуальной технологии:                        
                                                                                
          - продукционно-ориентированные управляющие структуры;                 
                                                                                
          - интегрированную оболочку на базе естественного языка.               

                         - 183,184 -
                                                                                
                                                                                
                                                                                
          Компоновка с  Турбо Прологом позволяет включать в прикладные          
     программы,  написанные на Турбо Си, мощь искусственного интеллек-          
     та,  так что вы можете решать перспективные проблемы, просто опи-          
     сывая их и запуская в работу логический механизм  Турбо  Пролога.          
     Для  многих прикладных программ на Турбо Си компоновка с програм-          
     мами Турбо Пролога будет значительно сокращать  время  разработки          
     программного  обеспечения,  увеличивать  прозрачность  и гибкость          
     программ.                                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               В этой главе...                                                  
     -----------------------------------------------------------------          
                                                                                
          В этой главе мы объясним этапы компиляции и компоновки Турбо          
     Си и Турбо Пролог программ и приведем четыре примера,  демонстри-          
     рующие этот процесс.  Первый пример - простейшая  программа,  де-          
     монстрирующая компиляцию и компоновку. Второй пример идет немного          
     дальше, он покажет, как компоновать программы, используя дополни-