最近在课堂上听到老师讲了C语言中的内存分配,感觉挺深刻的,于是就写下来,当做是对自己的提醒! 微机原理的知识告诉我们,内存大致可以分为三部分:代码区 、堆栈区、数据段(我的计算机学的不好,按照自己的理解)。C和C++中有全局变量,静态变量以及局部变量等几类。全局变量和静态变量是在编译的时候就已经分配好在数据段,也就是说在执行main函数之前就已经分配好了地址,如果定义的时候认为初始化,那么就存放初始化的值,如果没有初始化,则由编译器初始化为0。这就说明在整个程序的执行过程中全局变量和静态变量的地址和类型不会发生变化,可能变化的只是他的值。 对于动态变量,则在编译的阶段并不分配内存,而是执行.. Read More
posted @ 2012-07-24 14:31 夏了′夏天 Views(146) Comments(0) Diggs(0) Edit
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。1.用const 修饰函数的参数如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const 修 Read More
posted @ 2012-07-24 14:25 夏了′夏天 Views(93) Comments(0) Diggs(0) Edit