C의 함수는 모든 인자의 value를 복사한다라는 글귀를 보고 c는 call by reference가 없다는 개소리로 확장하는 병신들이 요즘따라 죤나게 넘쳐나는데.
C함수는 value가 인자로 오면 value값를 복사하고
Reference가 오면 그 reference 자체를 value로 보고 reference 자체를 복사한다는 소리가 C가 call by reference가 없다는 소리가 아님.
애초에 C가 아예 reference만 취급하는 포인터를 기본 자료형으로 가지고 있고 포인터 연산을 할때는 이 값을 value로, 포인터가 가리키는 값을 처리할때는 reference로 처리 하고, 그렇기 때문에 포인터가 함수의 argument로 passing될때는 당연히 포인터를 value로 보고 passing하는 것 뿐인데..
포인터가 없는 언어에서 이를 구현하다보니 call by reference를 분리해서 따로 구현한 언어들 하다가 그럴 필요가 없었던 C를 보니까 C에는 call by reference가 없다는 개소리가 나오게 된것 같음.

2줄요약:
C는 call by reference가 없다(X)
C 함수는 모든 arg를 value 취급한다.(레퍼런스만 취급하는 기본 자료형이 있기 때문에)(O)