指针数组里面放函数地址,当地址为NULL时应该写(void*)NULL吗
时间: 2024-03-09 21:49:18 浏览: 120
不一定需要写成`(void*)NULL`,因为C语言中NULL通常被定义为0或者((void*)0),所以直接写NULL即可。但是为了代码的可读性,可以在需要强制转换的地方显示地将NULL转换为(void*)类型。例如:
```
void (*func_ptr[10])(int); // 定义一个指针数组,存放函数指针
func_ptr[0] = (void (*)(int))NULL; // 将第一个元素置为空指针
```
注意,这里的强制转换是必要的,因为在C语言中,NULL的类型是(void*),而函数指针的类型是void (*)(int),二者类型不同,需要进行强制转换才能相容。
阅读全文