您的位置:首页 > 职场人生

iOS面试题七

2016-03-11 10:35 281 查看
一、怎样防止指针的越界使用问题? 
1、 必须让指针指向一个有效的内存地址, 
2、 防止数组越界 
3、防止向一块内存中拷贝过多的内容 
4、 防止使用空指针 
5、 防止改变const修改的指针 
6、 防止改变指向静态存储区的内容 
7、 防止两次释放一个指针 
8、 防止使用野指针. 

二、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
       答:全局变量储存在静态数据库,局部变量在堆栈

三、Heap与stack的差别。
        Heap是堆,stack是栈。
        Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
        Stack空间有限,Heap是很大的自由存储区
       C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。
       程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: