- 博客(4)
- 收藏
- 关注
转载 在c语言中写TMin
1.情景 在CSAPP的图示和问题中,我们很小心的把32(TMin32)位有符号最小值写作-2147483647-1,为什么我们不直接写成-2147483648或0x80000000呢?不妨先打开limits.h头文件看看吧,你会发现它们也是用类似的诡异形式 ISO90: Decimal: int | long | unsigned | long long Hexade
2012-09-09 23:53:03
1174
转载 关于栈、堆、静态存储区最大可分配大小的探讨
《编程之美》的第2.5节中有这么一小段程序:float array[100 000 000];这个1亿个float变量,这样就有8亿个字节,转化为二进制单位G,就是小于等于1G。这样大小的数组量只能用堆(动态申请内存变量)或者静态存储区(全局变量)来申请。【栈、堆、静态存储区能申请的最大分配大小是多少呢?】栈(stack)大小与编译器有关。默认情况下,v
2012-09-08 11:14:41
1194
转载 堆和栈的比较
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(
2012-09-01 22:50:18
335
转载 在if或while等判断语句中,前++和后++的进行探讨
①作为单独语句存在,如下面的两段代码: int i=0; if(i++){...} —————int i=0; if(++i){...} 上面的条件判断代码虽然是以单独语句出现,但编译器将其等价于i++(或++i)>0故在第一段代码中先执行i>0判定,再执行i++,因此条件体里的代码不被执行;而在第二段代码中先执行i=i+1,再执行i>0,因此条件里代码会被
2012-08-04 20:39:04
1345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人