答案是可以的,为什么呢?
cpp
//Delay.c
//函数实现
void Delay_ms(uint32_t xms){}
//delay.h
//函数声明
void Delay_ms(uint32_t ms);
++在C语言中,函数声明主要是告诉编译器函数的名称、返回值类型以及参数类型,参数的具体变量名不是必需的,只要类型匹配即可。++
void Delay_ms(uint32_t xms){} ,xms是参数的变量名。
void Delay_ms(uint32_t ms); 中,参数变量名称写成ms没有问题,**因为编译器关注的是参数类型uint32_t,函数声明时参数变量名称可以和定义时不一样,****也可以省略不写,只保留类型,**如void Delay_us(uint32_t);。
++只要函数声明和定义的参数类型、顺序和个数一致,程序就能正确编译和链接。++