随笔分类 - c/c++
摘要:内存泄露: 分析这段代码: 1. 开辟了10个int大小的数组指针p 2. 给指针p重新指向了5个int大小类型的数组 3. 释放指针p 4. 释放之后只是释放内存,并不会同时释放指针,所以避免野指针并且阈予NULL值。 5. return 程序结束。 问题的关键是指针p刚开始指向了10个int大小
        阅读全文
            
摘要:野指针概念: 1.指向没有访问权限的内存: 这段程序在GCC下运行会报Segment Fault错误,因为s是局部指针变量,其值是随机不确定的,不知指向哪块内存。一般情况下这种内存要么不能访问,要么是没有分配的。 但是也有极低的概率会指向一个分配好的内存地址,虽是暂时程序没崩溃,但是碰到的概率是极低
        阅读全文
            
摘要:一.堆分配算法 前言: 任意时刻程序发出请求,要么申请一段空间、要么释放一段已申请空间。而且申请的空间小到几个字节,大到几GB,所以堆的管理显得有些复杂。 1.malloc() 堆内存分配方法: 1. malloc的内存管理交给系统去做: 原因是内核就是管理者进程,可以提供个系统调用就可以让mall
        阅读全文
            
摘要:一.虚拟地址空间 64位的CPU一次处理64Bit(8字节)数据。 32位编译模式 在32位模式下,一个指针或地址占用4个字节的内存,共有32位,理论上能够访问的虚拟内存空间大小为 2^32 = 0X100000000 Bytes,即4GB,有效虚拟地址范围是 0 ~ 0XFFFFFFFF。 程序能
        阅读全文
            
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号