我对语句((类型*)0) - >成员在Linux内核最常讨论的宏“container_of”
的扩展中感到困惑为什么在container_of宏中不取消引用0不会产生问题? 我想(可能是我错了)因为我们将0转换为(类型*),我们没有问题。但请坚持,考虑一下: -
void irq_handler(void *ptr)
{
struct my_struct *p = (struct my_struct *) ptr;
ptr->my_member = 7;
global_variable = ptr->my_another_member;
...
...
}
假设由于某些内存损坏而假设我的ptr变为NULL,那么在这种情况下,由于空指针的取消引用,内核肯定会崩溃吗?
为什么这种偏袒或分化?或者我的任何理解都是错的?请纠正我。