Standart C Programlama Dili


8.3. Üçlü ve İkili Karakterler

Üçlü Karakterler

Bazı klavyelerde C programlarında kullanılan bazı önemli karakterler yazılamayabilir. Böyle dokuz karakteri ifade etmek için dokuz özel karakter sırası kullanılır. Bütün bu sıralar üç karakterden oluştuğu için bunlara üçlü karakter denir. Önişlemci bir üçlü karakter ile karşılaştığında yerine onun ifade ettiği karakteri koyar. Üçlü karakterler ve onların eşdeğerleri şunlardır:

Üçlü karakterKarakter
??=# (sayı işareti)
??([ (sol köşeli parantez)
??/\ (ters bölü)
??)] (sağ köşeli parantez)
??'^ (uzatma işareti)
??<{ (sol çengelli parantez)
??!| (dikey çizgi)
??>} (sağ çengelli parantez)
??-~ (inceltme işareti)

Programın her yerinde üçlü karakter yerine ilgili karakterin konulduğuna dikkat edin. Yani,

printf("Devam??(e/h)")

fonksiyon çağrısı

Devam[e/h)

basacaktır. Derleyicilerin çoğu bu tarz kullanımlarla karşılaştığında uyarı mesajları verecektir. Üçlü karakterlerin kullanımı önerilen bir özellik değildir. Soru işareti karakterlerinin üçlü karakter olarak yorumlanmasına engel olmak için önüne ters bölü işareti koyabilirsiniz:

printf("Devam\?\?(e/h)")

Bu şekilde, olası öneişlemci uyarılarınından da kurtulmuş olursunuz.

İkili Karakterler

Öte yandan aşağıdaki karakterler, sadece sözdizimsel olarak, C derleyicisi tarafından eşdeğer görülürler. İkili karakter olarak da isimlendirilen bu karakterler, üçlü karakterlerden farklı olarak, karakter dizileri içinde veya önişlemcinin # (karakter dizisine dönüştürme) işlemi (Kısım 6.1) kullanıldığında eşdeğer değillerdir.

İkili karakterKarakter
<:[ (sol köşeli parantez)
:>] (sağ köşeli parantez)
<%{ (sol çengelli parantez)
%>} (sağ çengelli parantez)
%:# (sayı işareti)
%:%:## (çift sayı işareti)