函数实现与函数声明参数变量名是否可以不同?

答案是可以的,为什么呢?

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);。

++只要函数声明和定义的参数类型、顺序和个数一致,程序就能正确编译和链接。++

相关推荐
不会c+4 小时前
C语言:入门到精通(408考研版)系列七 派生的数据类型
c语言·开发语言
程序猿编码5 小时前
没有AI框架,没有GPU,一个C语言文件跑通大模型
c语言·开发语言·人工智能·深度学习·ai·大模型
CHANG_THE_WORLD5 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到资源管理深度剖析
linux·服务器·c语言
十月的皮皮6 小时前
C语言学习笔记20260716-编译与链接
c语言·笔记·学习
牧以南歌〆7 小时前
数据结构<一>顺序表
c语言·数据结构·算法
CHANG_THE_WORLD7 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到工作线程的完整解析
linux·服务器·c语言
敲上瘾7 小时前
Linux系统调用mmap文件映射与malloc简单模拟实现指南
linux·服务器·c语言·缓存
CHANG_THE_WORLD7 小时前
Linux C 多进程并发 TCP 服务器:从阻塞模型到 `fork()`、`SIGCHLD` 与 `EINTR`
linux·服务器·c语言
wdfk_prog16 小时前
嵌入式面试真题第 11 题:RTOS 优先级翻转与实时任务阻塞的通用治理
c语言·缓存·面试·职场和发展·架构
无相求码1 天前
罪魁祸首:for 括号后面那个"隐形分号"
c语言