【C言語】
プロトタイプ宣言と関数定義で引数の名前が違う

(style): Function ‘my_memset’ argument 3 names different:
declaration ‘element’
definition ‘size’.

(スタイル):第三引数は要素数ではなくてサイズ[(style)funcArgNamesDifferent]


■1.引数の名前が違う

#include    <string.h>
#include    <stdio.h>
//要素数
void    my_memset(void *p,int x,size_t element);
//サイズ
void    my_memset(void *p,int x,size_t size) {
    memset(p,x,size);
}
int main(void){
    int     buf[1024];
    my_memset(buf,0,1024);
}

プロトタイプ宣言と関数定義で関数引数の名前が違っても
コンパイラはエラーを出しません。
しかし
element(配列の要素数=1024)と
size(配列のサイズ=1024*sizeof(int)=4096)のように異なる名前を付けると人間の読者に誤解を与えます。

■2.引数の順番が違う

‘(warning) Function ‘my_strcpy’ argument order different: declaration ‘src, dst’
definition ‘dst, src’

警告:関数定義の引数の順番がプロトタイプ宣言と違う
[(warning)funcArgOrderDifferent]

#include    <string.h>
//プロトタイプ宣言
void    my_strcpy(char *src,char *dst);
//関数定義
void    my_strcpy(char *dst,char *src)
{
    strcpy(dst,src);
}
int main(void)
{
    char    dst[1024];
    my_strcpy("src",dst);//関数呼び出し
}

大規模なプログラム開発になると、
プログラマは
外部関数の関数定義を探すのがメンドクサイので
外部関数のプロトタイプ宣言を見て関数呼び出しを作ります。
このためプロトタイプ宣言の引数の順番が間違っていると
このプログラムのように異常終了してしまいます。

この問題はgccやclangでは見つけてくれません。
cppcheckと言う無料ツールが見つけてくれます。

参考:

API08-C. 関数プロトタイプでは引数に名前をつけない