c는 레퍼런스가 없고 무조건 call by value다
int a = 3;
int* b = &a;

f(b);

void f(int* i) {
*i = ...
}
f라는 서브루틴에서 아무리 개지랄을 해도
b의 값이 a의 주소값이라는건 변하지 않지?

하지만 c++ 그 외 레퍼런스가 있는 언어에서
레퍼런스를 사용하면
서브루틴 내에서도 인자값을 마음대로 변경가능함

l, r value얘기는 이미 c에서 부터 constant때메 구분했고
그게 c++에 이어져 내려온거고

c++에는 레퍼런스가 있는데
모던 c++에서는 xvalue prvalue lvalue를 다 구분하기때문에
glvalue, rvalue 레퍼런스가 따로 있을 수밖에 없는거고 좀 다른 얘기임 그건

레퍼런스 자체는 c계열뿐만아니라 걍 언어론에서 자주 쓰이는 말이고

내가 제목에 말한건 k&r책에 저자들이 그대로 써놓은 내용이니
책장속에 파묻힌 k&r 꺼내 보던가

- dc official App