默认参数:函数的形参可以有默认值
void fun(int a, int b, int c = 10);
在定义函数时,可以给不太重要的参数一个默认值,如果传递实参,该形参的值就是实参的值,
如果没有传递实参,形参的值就是默认值
注意:
1、函数的传参时,是从左往右传,当有多个默认参数时,默认参数的设置必须是从右往左
2、函数在声明时如果有默认参数,在定义时无需再有默认参数
3、默认参数和函数重载一起使用,容易产生二义性
总结:
1、如果只有函数的定义,那么此时默认参数出现在函数定义中
2、如果既有函数声明又有函数定义,此时默认参数只能出现在函数声明中
指针和引用的本质区别:指针是一个定义的变量,需要专门分配内存空间,对于变量的
操作是间接访问,而引用不会专门分配空间,是变量的别名,对变量的操作是直接操作
指针和引用在使用时的区别:
1、指针占4个字节,引用不占空间
2、指针可以不用初始化,并且指向可以改变,而引用必须初始化,并且只能是一个变量的引用
3、指针加1,向地址增大的方向移动了一个数据,引用加+1,就是变量的值+1
4、指针有二级指针,但是没有二级引用
5、有void*类型的指针,但是没有void类型的引用
6、指针只能是字符串常量的地址,而常引用可以是任何常量的引用
7、有数组指针、函数指针,没有数组引用和函数引用
8、指针只能是字符串常量的地址,常引用可以常量的别名