c/c++
文章平均质量分 76
胡子先生v_v
这个作者很懒,什么都没留下…
展开
-
c/c++程序内存分配原理
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。转载 2014-02-19 19:03:16 · 683 阅读 · 0 评论 -
c和c++是如何申请和释放的?有什么区别?
C和C++ 语言动态内存分配一、C语言动态内存分配 要实现动态内存的分配,除了利用含指针成员的结构体之外,还需利用C语言提供的几个标准库函数。(使用时应包含头文件“alloc.h”或“malloc.h”或“stdlib.h”) 1.malloc函数 函数原型为void *malloc(unsigned int size);在内存的动态存储区中分配一块长原创 2014-08-29 13:50:15 · 567 阅读 · 0 评论 -
c++类占用内存大小计算
C++类所占内存大小计算说明:笔者的操作系统是32位的。class A {}; sizeof( A ) = ?sizeof( A ) = 1明明是空类,为什么编译器说它是1呢?空类同样可以实例化,每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址.所以sizeof原创 2014-10-10 11:09:50 · 883 阅读 · 0 评论 -
32位机器下才C/C++基本类型长度
一、C1.几条规则(1)char类型一般是8bit,但ANSI C里没有硬性规定其长度,某些嵌入式编译器可能是16bit(2)short和long类型的长度不相同(3)int类型通常同具体机器的物理字长相同(4)short通常是16bits, int通常是16bits or 32bits每种编译器可以根据硬件的不同自由确定, 但是short和int必须最少是原创 2014-10-10 10:25:11 · 883 阅读 · 0 评论