突然有如下这个疑问,不知如何下手,恳请大神指教~~~
- void menu_disp()
- {
- uint8_t *str = "abc";
- lcd12864_disp_str(2, 0, str);
- }
复制代码
按照我的理解,
"abc"(首地址)使用1次就被丢弃...我调试时发现,当我反复调用menu_disp()时,,str保存的指针每次都是不变的...
1>编译器每次都重新申请"abc"(首地址),只不过每次申请的"abc"地址相同...
2>编译器发现我多次调用"abc",于是将"abc"(首地址)通过某种方式保存为静态变量(退出函数时仍保存相应的值).
请大神指教,这里到底是采用哪种方式?为什么?谢谢哈...
一周热门 更多>