gpt4 book ai didi

检查 typedef 定义的函数指针是否为空

转载 作者:太空宇宙 更新时间:2023-11-04 00:35:59 24 4
gpt4 key购买 nike

this excellent SO answer on function pointers 开始;给定一个用 C 语言定义的函数指针,例如:

typedef void (*Callback)(int argument);
Callback my_callback = 0;

如何检查回调函数指针是否被赋值了非空值?

my_callback == 0&my_callback == 0

最佳答案

您应该检查 my_callback == 0,因为它是一个函数指针。


另外,你想到的第二个方案:

&my_callback == 0

地址,你甚至会被编译器警告:

warning: the comparison will always evaluate as ‘false’ for the address of ‘my_callback’ will never be NULL [-Waddress]
if(&my_callback == 0)
^

Is NULL always zero in C?

关于检查 typedef 定义的函数指针是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35963851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com