C++基础---C语言部分2
一、枚举类型:
enum <枚举类型名> {<枚举常量列表>};
enum weekday{Sun , Mon, Tue, Wed, Thu, Fri, Sat};
二、全局变量:
在函数外定义,如:
int a;
但是引用的时候要使用(当局部变量与全局变量同名的时候,不同名的时候直接用a就可以了)
::a
来引用。
三、变量的存储类别:
1.auto变量:只能修饰局部变量,auto变量的空间在栈中分配,分配与释放由系统自动进行。
2.register变量:寄存器变量(只能修饰int和char变量,不建议使用)
3.static变量:分为全局静态变量和局部静态变量。都是存储在全局数据区的,不初始化的话,值为0,初始化仅可以进行一次,具有全局生存期。
局部静态变量具有局部作用域,却具有全局生存期。
4.extern变量:可以修饰全局变量,以扩展全局变量的作用域。
- 将全局变量的作用域扩展到定义之前:相当于变量声明: extern int a;
- 将全局变量的作用域扩展到其他文件:(静态全局变量不能使用extern扩展)
四、默认参数的函数:
//先跳过去
五、引用作参数:
好处是:值是双向的了
void demoReference(int &x){...};
原型声明:void demoReference(int &);
调用: demoReference( x );
即可。在函数中对x的操作会影响main()函数中x的值。因为这是引用传递。
六、函数重载:
在程序中定义多个函数,函数名相同,但是函数的参数的类型或个数不完全相同。
int square(int number){...} int square(int num1, int num2){...} double square(double number){...} //他们都是不同的函数,针对不同的参数调用不同的函数
不能采用函数返回值的类型来区别函数的重载。
int square(int n); double square(int n);//这是错误的