iOS面试题七

来源:互联网 发布:sql注入绕过waf 编辑:程序博客网 时间:2024/06/06 00:12



一、怎样防止指针的越界使用问题

1 必须让指针指向一个有效的内存地址

2 防止数组越界 

3、防止向一块内存中拷贝过多的内容 

4 防止使用空指针 

5 防止改变const修改的指针 

6 防止改变指向静态存储区的内容 

7 防止两次释放一个指针 

8 防止使用野指针


二、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

       答:全局变量储存在静态数据库,局部变量在堆栈


三、Heapstack的差别。

        Heap是堆,stack是栈。

        Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。

        Stack空间有限,Heap是很大的自由存储区

       C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

       程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行

0 0
原创粉丝点击