Benche' il K&R sia IL manuale di riferimento per il linguaggio C, devi fare riferimento all'ultimo standard per il C, cioe' C11
In alternativa c'e' il C99
https://en.wikipedia.org/wiki/C9
Comunque un po' di indicazioni le trovi qui:
In generale la lunghezza MASSIMA sicura per gli identificatori e' di 31 caratteri, e conviene considerarli sempre CASE-SENSITIVE.
In realta' la lunghezza potrebbe arrivare anche a 250 caratteri ed oltre, ma questo e' un effetto collaterale del fatto che il compilatore per il C e' anche il compilatore per il C++, con opportuni flag abilitati/disabilitati. E poiche' il C++ deve supportare il template, questi possono avere dei nomi con lunghezze impressionanti
Per "identificatore esterno" si intende l'identificatore di una funzione in un'ALTRA LIBRERIA: una delle librerie che importi nella tua applicazione.
Attenzione, la libreria "esterna" potresti averla creata tu, non implica NECCESSARIAMENTE che sia una libreria creata da altri.