函数指针:
用于指向函数地址,然后用指针调用函数;定义的时候需要和函数类型匹配
使用方法:
qsort 是c语言的快排函数 ,pfCompare是函数指针
pfCompare是程序员自己写的,必须遵循以下规则:
示例程序:
按个位数从小到大排序
输出结果:
10 11 123 4 8
命令行参数:
#include<iostream> #include<cmath> using namespace std; int main(int argc,char *argv[]) /* argc :启动程序时,命令行参数的个数,执行程序本身的文件名也算一个参数 argv:指针数组,每一个元素都是一个char *类型的指针,指向对应的命令行参数 */ { for (int i = 0; i < argc; i++) printf("%s ", argv[i]); return 0; }
位运算:
按位与“&”作用:
a.某些位清0,某些位不变
比如:n &= 0xffffff00,低8位置0,即和0与
b.获取变量的第n位(先右移n位和1与),即(a>>n)&1
按位或作用:某些位置1,其他位不变:
n |= 0xff ;低8位置1,即和1或
按位异或作用:某些位取反,其他位不变
n ^= 0xff ;低8位取反,即和1异或
按位非:即按位取反
左移运算符:a<<b,即把a左移b位,左移时,高位丢弃,低位补0;左移n位,即乘以2的n次方;
右移运算:右移时,右边丢弃,左边无符号补0,有符号根据符号位补。右移n位,即除以2的n次方,并按小的取整;
引用:
int n=4;
int & r=n; r 引用了n,r的类型是 int &
某个变量的引用,等价于这个变量,相当于这个变量的一个别名;
注意:
- 引用定义时一定要初始化成引用某个变量
- 初始化后,就一直引用该变量,不能引用别的变量
- 引用只能引用变量,不能引用常量和表达式
形参的改变不能改变实参;
常引用
不能通过常引用去修改其引用的内容
const关键字
1)定义常量
2)定义常量指针
动态内存分配:
new int,new int[4] 返回值类型是int *,即int类型的指针
释放存储空间:
注:[]代表指针指向的是动态分配的数组
内联函数
减少调用开销,适用于简单函数调用多次的情况
函数重载
函数缺省参数