C언어에서의 삼중자(TrigraphSequence)
개요 ¶C언어에서는 삼중자(TrigraphSequence) 라는 전처리기보다 우선하는 치환문자셋이 존재합니다. 이는 일부 언어권 문자셋의 경우 C언어의 문자셋을 모두 받아들이지 못하는 경우가 있기 때문입니다. (대표적으로 ISO646 의 경우 82자의 문자셋을 정의하는데 여기에는 일부 C언어의 문자셋을 수용하지 않고 있습니다.) 이와 같은 경우 C언어의 소스를 표현할수 없게 되기 때문에 이를 보완하고자 삼중자(Trigraph sequence) 라는 것이 존재하게 된 배경입니다. 삼중자는 그 어떤 전처리과정보다 우선하도록 치환되며 총 9가지의 삼중자가 존재합니다. 물음표(?) 2개로 시작하고 한개의 식별문자로 이어져 어떤 다른 문자로 치환되게 되는데 9개는 다음과 같습니다.
??= #
??( [
??< {
??/ \
??) ]
??> }
??' ^
??! |
??- ~
printf(">>> ??= <<<\n");
int main(void)
{
return(0);
}
int main(void) ??< return(0); ??>
<: [
:> ]
<% {
%> }
%: #
|












![[http]](/imgs/http.png)