乱七八糟的技术文章
jarelzhou
程序员,不断学习
展开
-
C和C++的数据类型所占的空间
C和C++的各种数据类型所占据的字节数挺混乱的,因为没有一个明确的标准,不像Java和C#之类的语言,标准和编译器都是一家做的,自然很明确。C的编译器由各个商业公司或组织自行针对各自平台环境进行开发,产生了很多的差异。这边做个大概的不完全的总结。 32位机器下大多数的编译器:指针:由于32位需要2^32的地址,因此指针需要32位空间,也就是4个字节char:1字节原创 2014-02-09 16:08:03 · 1049 阅读 · 0 评论 -
堆栈内存分配
栈:局部变量,函数参数。由操作系统负责调度和安排,并收回不再需要的空间堆:自行分配的内存,操作系统不会管,只有当程序结束时才会释放自由存储区:和堆相似,不同的是malloc分配,free释放全局/静态存储区:全局变量,静态变量常量存储区:比如说字符串之类的原创 2014-02-09 17:31:21 · 702 阅读 · 0 评论 -
经典乱码“烫烫烫”和“屯屯屯”
经典乱码“烫烫烫”和“屯屯屯” 程序猿有个经典的内部笑话:手持两把锟斤拷,口中疾呼烫烫烫。 写过代码的人都碰到过。最近从Google搜索页调到百度的网页上大量出现锟斤拷,不知怎么回事。 烫烫烫和屯屯屯产生自VC,这是debug模式下VC对内存的初始化操作。VC会把栈中新分配的内存初始化为0xcc,而把堆中新分配的内存初始化为0xcd。0x原创 2014-02-09 18:06:58 · 53137 阅读 · 0 评论