* относится к типу возврата функции, который равен void *
.
Когда вы объявляете переменную-указатель, то же самое можно поставить *
рядом с именем переменной илитип переменной:
int *a;
int* a;
Я лично считаю первый вариант более понятным, потому что если вы хотите определить несколько указателей с использованием разделителя ,
, вам придется каждый раз повторять *
:
int *a, *b;
Использование синтаксиса «близко к типу» в этом случае может вводить в заблуждение, потому что если вы напишите:
int* a, b;
Вы объявляете указатель на int (a
) иint (b
).
Таким образом, вы найдете этот синтаксис и в функциях, возвращаемых типами!