programing

C에 레퍼런스가 있나요?

newsource 2022. 8. 14. 12:15

C에 레퍼런스가 있나요?

C에 참조가 있습니까?즉, C++와 같이:

void foo(int &i)

아뇨, 그렇지 않아요.포인트는 있지만, 완전히 같은 것은 아닙니다.

특히 C의 모든 인수는 C++와 같이 pass-by-reference를 사용할 수 있는 것이 아니라 값에 의해 전달됩니다.물론 포인터를 통해 참조별로 시뮬레이션을 할 수 있습니다.

void foo(int *x)
{
    *x = 10;
}

...

int y = 0;
foo(&y); // Pass the pointer by value
// The value of y is now 10

포인터와 참조의 차이에 대한 자세한 내용은 다음 SO 질문을 참조하십시오(그리고 저는 C나 C++ 프로그래머가 아니기 때문에 묻지 마십시오).

포인터가 다른 오브젝트를 참조하기 때문에 개념적으로 C에는 참조가 있습니다.

구문론적으로 C는 C++와 같은 참조를 가지고 있지 않습니다.

언급URL : https://stackoverflow.com/questions/4305673/does-c-have-references