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