全局变量:放在了数据段,大家都能用
局部变量:放到了栈中,给专门函数使用的
在编译之后,全局变量的偏移量基本确定了,就是0x22b2
在同一个编译器上内存位置基本相同,这个值不变;rip会改变在内存中
但是局部变量地址有可能改变,不是一定不变的,因为多个不同函数调用test(),不同函数,一定对应不同的内存地址,虽然sum函数是对应这个test,相对地址不变,但是他们的真实地址还是改变的;
以下都是Xcode的内容,和8086基本相同
字符串地址也是不定的,是确定的,和常量相同;
为什么说switch比if效率高?
如果switch的比较情况比较多,他会自动的有一套算法,然后一下子直接找到位置,异步到位,而if,就会一个一个比较,所以比较慢
看到反汇编
就可以了!!!