C语言 不给指针地址 自动分配地址的怪圈

来源:互联网 发布:电算化考试软件下载 编辑:程序博客网 时间:2024/06/05 02:25

 闲来无事,想看看IDE怎么自动分配地址给没有赋值的指针,于是有一些很有趣的现象:

 这是我设置的7个不赋值的指针,看清楚,这是全局指针


  

这是我设置的7个不赋值的指针,同名的局部指针变量


·


有意思的来了:




       Debug 到 fool 前面  , 这七个指针都被自动分配了合法的地址( 引号里 就是你之前写的一些字符片段,都被组合一下给出了地址)

       然后:



这是Debug 到 fool 里面 ,这7个全局指针的地址自动赋值情况,可以看到, p1,   p6,   p2全都不合法了,所以我总结了下面两点:

一   :   指针地址的随机分配在主函数(main )里面是按照指针的申明顺序来的

二:   在调用函数中,指针地址的分配是随机的,并且容易分配到不合法地址,因为合法地址大部分被前面的(main)函数里的指针分完了


最后,申明了指针一定要给地址,不要等编译器 分配,这样容易出严重错误,切记切记!!!


阅读全文
1 0