загрузка...
 
4. 4 Блок-схема функции char*add(char*nm)
Повернутись до змісту

4. 4 Блок-схема функции char*add(char*nm)

 

При вызове функции add (char*nm) вместо формального параметра nm передается фактический параметр tx (последовательность символов - идентификатор). В блоках №2 и №3 в цикле осуществляется проверка – не был ли ранее занесен в TNM этот идентификатор. Для этого используется указатель  char*p. В блоке №2 вначале в p заносится TNM, т.е. адрес TNM [0]. Затем проверяется условие p

После этого вновь проверяется условие  p

ptn+=strlen(nm)+1.

Кроме того, нужно проверить, не выйдет ли новое значение ptn за пределы таблицы TNM. Все это оформлено в виде оператора

if ((ptn+=strlen(nm)+1)>TNM+400) {puts(“Переполнение таблицы TNM”);exit (1); } return (strcpy(p, nm));

Если переполнения нет, то вызывается функция копирования строк strcpy( ), которая строку nm скопирует в р и адрес вернет в функцию  word( ).



загрузка...