|
1
5
在代码中,使用
方法
,
通常,对于函数指针,强制转换是一个非常糟糕的主意,因为引用
但是,在您的情况下,对于参数类型,
|
|
2
1
是的,您可以将函数指针强制转换为指向具有不同签名的函数的指针。取决于您的调用约定(谁清理堆栈?调用者还是被调用者?)如果参数数量不同或大小不同,则调用该函数会很糟糕。 这里也不是这样:在您的标准架构(sun工作站、Linux PC、树莓PI)上,指向不同数据类型的参数指针表示相同,因此不会造成任何伤害。该函数将从堆栈中读取4或8字节的值,并将指向的内存解释为预期类型的数据(但它应该具有这种类型,例如,不要对字符串使用浮点比较函数;它可能会抛出,因为任意位模式可以是NaN等)。
我想提醒你,今天的标准库
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 11 月前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 11 月前 |
|
|
Bobby · 复合字面值总是左值吗? 11 月前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 11 月前 |