Мне было интересно узнать о небольших различиях между объявлением прототипов функций в заголовках и в файлах .c. У меня есть заголовок с некоторыми функциями-прототипами и некоторые файлы .c с реальной реализацией этих функций. Внесены некоторые изменения в заголовок, добавлен только квалификатор «__restrict» (распознается gcc). Мой вопрос заключается в том, нужно ли мне ставить спецификатор "__restrict" в файлах .c (в настоящее время код компилируется, поэтому я думаю, что ответ - нет, но некоторая точность будет оценена).
Это работает для каждого классификатора C? Могу ли я добавить некоторые «const» или «volatile» в заголовок без необходимости делать то же самое в .c файлах?
в данный момент в шапке:
int myfunc_gettype (const mytype *__restrict, int *__restrict);
и в файле реализации:
int myfunc_gettype(const mytype *attr, int *type)