- 博客(5)
- 资源 (1)
- 收藏
- 关注
转载 C语言本身有输入和输出语句?
C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,
2011-11-19 21:51:41 5330
转载 堆栈详解 常量字符串为什么位于静态存储区
一、程序的内存分配 1、栈区(stack):由编译器自动分配释放; 2、堆区(heap) :一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表; 3、全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区
2011-11-07 17:34:33 1741 1
转载 const用法详解
看 到const关键字,很多人想到的可能是const常量,其实关键字const并不能把变量变成常量!在一个符号前加上const限定符只是表示这个符号 不能被赋值。也就是它的值对于这个符号来说是只读的,但它并不能防止通过程序的内部(甚至是外部)的方法来修改这个值(C专家编程.p21)。也就是说 const变量是只读变量,既然是变量那么就可以取得其地址,然后修改其值。看来const也是防君子不防小
2011-11-03 16:45:12 1537
转载 函数返回值—返回局部变量
看看下面的程序的输出: #include char *returnStr() { char *p="hello world!"; return p; } int main() { char *str; str=returnStr(); printf("%s\n", str);
2011-11-03 16:17:30 344
原创 为何a++不可以作为左值而++a能
a++的运算结果并不是a这个变量的引用,而是一个临时变量,其值为i的值,所以你无法进行以下运算: a++=5; 甚至编译器不允许你对一个临时变量重新赋值,上面的表达式会引起编译错误 。左值,说得通俗一点,就是可以出现在表达式左边的值(等号左边),可以被改变。 可以简单的这么理解(通过C++语法) 你看看前、后++分别是怎样重载的 比如A类中重载两个++吧
2011-11-03 16:06:01 1003
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人