C/C++ 语言 零碎知识点的总结(1)
在大学近三年的学习中,零零散散的遇到过较多的知识和问题,但时间过长之后也会有所遗忘,为了克服这个问题,想到可以用博客来做记录,方便模糊的时候回头再学习。
首先,看代码:
# include <stdio.h>
int main(void){
char side_a[] = "Side A";
char dont[] = {
'w','o','w','!'};
char side_b[] = "Side B";
puts(dont);
return 0;
}
你是不是会对运行结果有点小惊讶呢,觉得使用 puts函数输出的不应该是dont中的 “wow!” 字符串么?为什么还会有Side A呢,又为什么不能是后面的Side B呢
别担心,博主来为您解答。
知识点1 :puts()函数解析:
相信,此刻路过该博文的靓仔萌妹们,一定已经很熟悉puts()函数的正确使用了,不了解的话也没关系嘛,博主很细心的哈,已附上学习链接。
1. puts()函数百度百科
2. C语言puts()函数用法详解
我们重回话题,没错,puts()函数最重要的一个点就是,puts函数是遇到结束符 “\0” 才会结束的,否则,计算机会在内存中向下寻找,直到遇到空字符才结束,所以,没有结束标志的话,puts函数可能会输出乱码来。
知识点2 :C/C++ 各变量存储的区域不同。
C/C++程序中各变量在内存中的存储区域:
1. 内存栈区:存放局部变量名
2. 内存堆区:存放new或malloc出来的对象;
3. 常数区:存放局部变量或者全局变量的值;
4. 静态区:用于存放全局变量或者静态变量;
5. 代码区:二进制代码。