ヘッダーと .c ファイルでの関数プロトタイプの宣言の違いについて疑問に思っていました。いくつかのプロトタイプ関数を含むヘッダーと、これらの関数の実際の実装を含むいくつかの .c ファイルがあります。ヘッダーにいくつかの変更を加え、「__restrict」修飾子 (gcc によって認識される) のみを追加しました。私の質問は、「__restrict」修飾子を .c ファイルに配置する必要があるかどうかです (現在、コードはコンパイルされているため、答えはノーだと思いますが、ある程度の精度は高く評価されます)。
これはすべての C 修飾子で機能しますか? .c ファイルで同じことをしなくても、ヘッダーに「const」または「volatile」を追加できますか?
現在ヘッダーにある:
int myfunc_gettype (const mytype *__restrict, int *__restrict);
および実装ファイルで:
int myfunc_gettype(const mytype *attr, int *type)