История изменений
Исправление wandrien, (текущая версия) :
Единственный хак синтаксиса, на котором можно изобразить в Си ссылку — это массив единичной длины. Так как массив синтаксически представлен как цельный объект, но в функцию передаётся как указатель, то массив — единственная штука в Си, которая передаётся по ссылке.
Поэтому в библиотеках можно встретить:
typedef _mytype mytype[1];
void foo(mytype a, mytype b);
void bar(void)
{
mytype x, y;
foo(x, y); /* Передача по ссылке! */
}
Исходная версия wandrien, :
Единственный хак синтаксиса, на котором можно изобразить в Си ссылку — это массив единичной длины. Так как массив синтаксически представлен как цельный объект, но в функцию передаётся как указатель, то массив — единственная штука в Си, которая передаётся по ссылке.
Поэтому в библиотеках можно встретить:
typedef _mytype mytype[1];
void foo(mytype a, mytype b);
void bar(void)
{
mytype x, y;
foo(x, y); /* Передача по ссылке! */
}