Basitçe bir programlama dilinde çeşitli sebeplerden dolayı bazı karakterlerin yazılması mümkün olmadığında digraph veya trigraph ismi verilen ve arka arkaya gelen 2 veya 3 karakterden oluşan ve asılnda tek bir karakteri ifade etmek için kullanılan değerlere başvurulur.
Örneğin klavyede istenen karakterin bulunmaması veya bağlantıda istenen karakterin taşınamaması (remote shell veya telnet gibi ortamlarda kodlanması halinde) veya programlama ortamının istenen karakteri desteklememesi (mikro işlemci programlama durumları gibi) çeşitli hallerde bu özel karakter ikilileri veya üçlülerine başvurulur.
Örneğin klavyede istenen karakterin bulunmaması veya bağlantıda istenen karakterin taşınamaması (remote shell veya telnet gibi ortamlarda kodlanması halinde) veya programlama ortamının istenen karakteri desteklememesi (mikro işlemci programlama durumları gibi) çeşitli hallerde bu özel karakter ikilileri veya üçlülerine başvurulur.
Digraph
Anlamı
<:[
>:]
<%{
%>}
%:#
Örneğin;
Kod:
#include <stdio.h>
int main()
{
printf("merabayn");
return 0;
}
Bu şekildede yazılabilirdi;
Kod:
%:include <stdio.h>
int main ()
<%
printf("merabayn");
return 0;
%>
Trigraph
Anlamı
??=#
??/??'
^
??([
??)]
??!|
??<{
??>}
??-~
Örnek code;
Kod:
??=include <stdio.h>
int main()??<
printf("merabayn");
return 0;
??>
Burada dikkat edilmesi gereken konulardan birisi de gcc derleyicisine parametre olarak -trigraphs veriliyor olmasıdır. Bazı derleyiciler bunu doğrudan desteklerken bazı derleyicilere, derleme sırasında (compile time) bu parametrenin özel olarak verilmesi gerekmektedir.

