C有引用吗?

C有引用吗? 即在C ++中:

void foo(int &i) 

不,它没有。 它有指针 ,但它们并不完全相同。

特别是,C中的所有参数都是按值传递的,而不是像C ++中那样可以通过引用传递。 当然,您可以通过指针模拟传递引用:

 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 ++那样的引用。