Kütüphanedeki veri türü, makro, değişken ve işlevlerin isimlerinden ISO C standardında belirtilenler koşulsuz olarak rezerve edilmiştir. Yazılımınızda bu isimleri yeniden tanımlayamazsınız. Kütüphanedeki diğer isimler ise, onların bildirildiği veya tanımlandığı başlık dosyalarını içerdiği taktirde onlar da bu gruba dahil olur. Bu sınırlamaların çeşitli nedenleri vardır:
Örneğin, standart exit işlevinin yaptığından farklı işler yapan bir exit işleviniz varsa, kodunuzu okuyan başkaları, kodunuzu anlamakta çok zorluk çekecektir. Bu durumlardan kaçınırsanız, yazılımınız hem daha kolay anlaşılır olur, hem de modülerliği ve yeniden düzenlenebilirliği artar.
Yeniden tanımlanan bir işlev onu kullanan başka kütüphane işlevlerinin hatalı çalışmasına sebep olabilir. Yani, yeniden tanımlama mümkün olsaydı diğer işlevler düzgün çalışamayabilecekti.
Derleyiciden eniyileme yapması istendiğinde, bir işlevin kullanıcı tarafından yeniden tanımlanması mümkün olmadığında, derleyici bu işlevlere eniyileme yapıp yapmayacağına daha iyi karar verebilecektir. Bazı kütüphane oluşumlarında örneğin
argüman sayısı değişken işlevler ile çalışmada ve
yerel olmayan çıkışlarda C derleyicisinin bir bölümünün bu işlevlerle bir bütünlük içinde çalışması gerekir. Ayrıca gerçeklenme açısından, derleyici dilin yerleşik parçaları olarak bunlarla daha kolay çalışabilir.
Bu kılavuzda belgelenmiş olan isimlere ek olarak, tek altçizgi (_) ile başlayan tüm harici isimler (genel işlevler ve değişkenler) ile nerede ve nasıl kullanılmış olurlarsa olsunlar iki altçizgi ile veya bir altçizgiden sonra bir büyük harfle başlayan tüm isimler rezerve sözcüklerdir. Kütüphane ve başlık dosyalarında tanımlanan işlevler, değişkenler ve makroların dahili kullanım amaçlı olanları, yazılımcının isim kullanım alanını daraltmamak ve yazılımcının kullanacağı olası isimlerle çakışma olmaması için bu yöntemle seçilmektedir.
Bazı isim sınıfları, C dilinin ve POSIX.1 ortamının gelecekteki geliştirmelerinde kullanılmak üzere ayrılmıştır. Bu isimleri şimdi kullandığınızda bir sorun çıkmayacak olsa da gelecekte C ve POSIX standartları ile çelişebilecektir. Bu nedenle onları şimdiden kullanmamaya başlamanız önerilir.
-
Bir büyük E harfi ile başlayan, bir sayı veya büyük harf ile devam eden tüm isimler hata kodlarının isimleri olarak ayrılmıştır. Bkz. Hata Bildirme.
- is veya to ile başlayan ve küçük harf ile devam eden isimler karakter sınama ve dönüşüm işlevleri için kullanılmak üzere ayrılmıştır. Bkz. Karakterle Çalışma.
- LC_ ile başlayan ve büyük harflerden oluşan isimler yerel nitelikleri belirleyen makroların isimleri olarak kullanılabilir diye ayrılmıştır. Bkz. Yereller ve Uluslararasılaştırma.
-
Tüm bilinen matematik işlevlerinin isimleri, f veya l harfi ile sonlandırılmış olarak float ve long double argümanlarla kullanılmak üzere işlev isimleri olarak ayrılmıştır. Bkz. Matematik.
- SIG ile başlayan ve büyük harflerden oluşan tüm isimler sinyal isimleri olarak ayrılmıştır. Bkz. Standart Sinyaller.
- SIG_ ile başlayan ve büyük harflerden oluşan tüm isimler sinyal eylemlerinin isimleri olarak ayrılmıştır. Bkz. Basit Sinyal İşleme.
- str, mem veya wcs ile başlayan ve küçük harflerden oluşan isimler dizi ve dizge işlevlerinin isimleri olarak ayrılmıştır. Bkz. Diziler ve Dizgeler.
- _t ile biten isimler veri türlerinin isimleri için ayrılmıştır.
Bunlara ek olarak bazı başlık dosyalarının kullanımına bağlı olarak o başlık dosyasına özel bazı isimler rezerve edilmştir. Bu başlık dosyalarını kullandığınızda bu isimleri kullanmamaya çalışmalısınız.
- d_ ile başlayan isimler dirent.h başlık dosyası ile rezervedir.
- l_, F_, O_ ve S_ ile başlayan isimler fcntl.h başlık dosyası ile rezervedir.
- gr_ ile başlayan isimler grp.h başlık dosyası ile rezervedir.
- _MAX ile biten isimler limits.h başlık dosyası ile rezervedir.
- pw_ ile başlayan isimler pwd.h başlık dosyası ile rezervedir.
- sa_ ve SA_ ile başlayan isimler signal.h başlık dosyası ile rezervedir.
- st_ ve S_ ile başlayan isimler sys/stat.h başlık dosyası ile rezervedir.
- tms_ ile başlayan isimler sys/times.h başlık dosyası ile rezervedir.
- c_, V, I, O ve TC ile başlayan isimler ile B ile başlayıp bir rakam ile devam eden isimler termios.h başlık dosyası ile rezervedir.