在C语言中,下面同一个功能用两种方式的函数声明可通用吗?它们的在调用时有什么区别,要怎么给实参? void RxNewWaybills(const void *opk); void RxNewWaybills(const uint8_t *opk);
时间: 2024-04-20 09:25:44 浏览: 17
在C语言中,函数的声明需要满足唯一性,因此不能使用相同的函数名和参数列表进行重复声明。在你提供的示例中,void RxNewWaybills(const void *opk) 和 void RxNewWaybills(const uint8_t *opk) 是两个不同的函数声明,它们的参数类型不同,因此可以通过编译。
在调用这两个函数时,需要根据函数声明中定义的参数类型来传递实参。对于第一个函数声明 void RxNewWaybills(const void *opk),你可以传递任意类型的指针作为实参,因为它接受任意类型的指针。而对于第二个函数声明 void RxNewWaybills(const uint8_t *opk),你需要传递一个 uint8_t 类型的指针作为实参。
总结起来,这两种函数声明在调用时的区别在于参数类型的不同,需要根据函数声明中定义的参数类型来传递相应类型的实参。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![unitypackage](https://img-home.csdnimg.cn/images/20210720083646.png)