一、怎样防止指针的越界使用问题?
1、 必须让指针指向一个有效的内存地址,
2、 防止数组越界
3、防止向一块内存中拷贝过多的内容
4、 防止使用空指针
5、 防止改变const修改的指针
6、 防止改变指向静态存储区的内容
7、 防止两次释放一个指针
8、 防止使用野指针.
二、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
答:全局变量储存在静态数据库,局部变量在堆栈
三、Heap与stack的差别。
Heap是堆,stack是栈。
Stack的空间由 *** 作系统自动分配/释放,Heap上的空间手动分配/释放。
Stack空间有限,Heap是很大的自由存储区
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new *** 作符。
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)