IOS switch-case知多少
发布网友
发布时间:2022-05-16 02:35
我来回答
共1个回答
热心网友
时间:2023-10-09 08:01
1. switch参数类型
switch参数类型要求是integer type,准确来讲,是可以转换成integer的类型, 这包括所有的C基本数据类型((signed/unsigned)char, (short/long signed/unsigned)int, float, double, longlong, bool(C++/objective-c) ),还有枚举类型,但是不包括字符串、结构体、联合体、对象、函数指针等复杂类型。
2.case 语句块注意问题
case 语句是为了匹配switch中的参数的值,所以其条件值必须是常数(const).
case 作为一个局部语句块,也能拥有的自己的变量与内存空间,那么在case语句块内部声明变量时,应该确保块内定义的变量,不被块外使用,否则会导致编译错误(块外对变量不具有可见性);如果是间接使用,则可能导致运行错误(内存地址已被释放,在引用可能指向一个错误位置, 也就是所谓的野指针)。如果定义了新的变量,则需要用代码块表示符号‘{}‘括起来,否则可能编译阶段报错。