Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Поиск в таблице

Rusa


. Для иллюст 23523v216x 88;ации дальнейших аспектов использования структур в этом разделе мы напишем программу, представляющую собой содержимое пакета поиска в таблице. Эта программа является типичным представителем подпрограмм управления символьными таблицами макропроцессора или компилятора. Рассмотрим, например, оператор #define языка «C». Когда встречается строка вида:



#define yes 1

yes yes

inword = yes;

Имеются две основные процедуры, которые управляют именами и заменяющими их текст 23523v216x 72;ми. Функция install(s,t) s t s t lookup(s) s null

null



struct nlist

;

define hashsize hashtab

static struct nlist *hashtab[hashsize]

lookup install

// hash: Получает хэш-код для строки s

unsigned hash(char *s) 

hashtab lookup lookup возвращает указатель на него; если нет, то она возвращает null



// lookup: Ищет s hashtab

struct nlist *lookup(char *s)

install lookup install null

install name def

struct nlist *install(char *name, char *def)

else // Уже имеется

free np->def // Освобождаем прежний defn

if ((np->def = strsave(def)) == null)



return null

return np

}

strsave alloc alloc free alloc

lookup install

#define, пригодную для использования с «C»-программами. Вам могут также оказаться полезными функции getchar ungetch




Document Info


Accesari: 846
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )