前言:2017年第一篇博客,祝大家新年快乐!!
1.数组在内存中的分布
我们来分析为什么a[0]=3?在C++中我们知道数组b中的最大下标角为9,当我们赋值给b[10]时,即使在数组b中下标10已经越界,但是
编译器还是会留存四个字节的地址给b[10]存放数值3,而a[0]的数组的存放地址恰恰是b[10]的存放地址,这也是a[0]为什么是3的原因了。
那我们怎么解决这一问题了?C++不同于java,如在java中这么写程序必然会报错,这是因为超出边界的数组无法通过编译。要在C++中
避免这种尴尬的局面,只好由程序员谨慎的规范。
2.数组名与函数
我们知道数组在定义的时候系统会自动创建一个指向该数组的指针,并且该指针自动指向该数组的第一个元素。
从上面我们可以看到,在main函数中我们其实操作的就是x[2]中的内存地址中的值。
3.枚举常量
定义:把变量的值一一列举,变量的值只能取其中的一个。
形式1:
形式2: