Подтвердить что ты не робот

Имеет ли C ссылки?

Есть ли у C ссылки? т.е. как в С++:

void foo(int &i)
4b9b3361

Ответ 1

Нет, это не так. У него есть указатели, но они не совсем одно и то же.

В частности, все аргументы в 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 или С++:)

Ответ 2

Концептуально, C имеет ссылки, поскольку указатели ссылаются на другие объекты.

Синтаксически C не имеет ссылок, как это делает С++.