
还有带break的版本如下:
switch(msghdr->nlmsg_type)
{
default:
break;
}
意思: 只有一个分支case
注:不会一进去就退出,而是会去进行匹配的。(一般来说default都是放最后的类似return)
程序进到switch后的流程:
1.会第一个去找case,case都找完了才会去找default
2.如果这里面没有break,那么程序会先去跑default下面的case,会一直循环。
3.这是因为default只有在case失败的情况下才会去执行,所以这个default在哪里都可以
4.switch case比if 效率更高,所以讲究人一般用这个。
5.这是一个无线状态机,华为里面是把所有状态写进一个数组,然后匹配数组调用回调函数