编程以及计算机内部实现问题
文章平均质量分 74
Jet_yingjia
这个作者很懒,什么都没留下…
展开
-
(++i)+(++i) 与 Sequence Point
看见有个面试题目,求x, y的值:int i = 3, j = 3;int x = (++i) + (++i) + (++i);int y = (j++) + (j++) + (j++);看到挺多人在争论,这样的表达式值应该是多少?甚至拿出几个不同的编译器来编译运行得到几个不同的结果。对于此题的答案,一句话,The behavior is undefined! 详细解释待我转载 2014-05-09 18:33:20 · 533 阅读 · 0 评论 -
c语言全局变量和局部变量问题汇总
1、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。要用全局变量,需要使用"::"局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。2、如何引用一个已经定义过的全局变量?答:extern转载 2014-07-01 22:13:31 · 1102 阅读 · 0 评论 -
C语言内存分配图以及栈和堆的区别
别的不多说了,图比文字更具有描述力,自己看!一直都把堆栈放一起,所以很多人会误以为他们的组合是一个词语,就像“衣服”一样简单,其实不然,今天在下就将最近学习总结的一些与大家分享。 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。转载 2014-07-01 22:01:22 · 1245 阅读 · 0 评论 -
getline()函数
getline()函数原创 2014-07-12 21:33:53 · 1342 阅读 · 0 评论