指针与常量
指针常量
指针常量就是一个指向常量的指针, 不能修改指针指向的值,但可以修改指针的指向, 让指针指向其他地址
常量指针
常量指针不能修改指针的指向,但可以修改指针指向的数据
常量指针指向常量
不能修改指针指向的值,也不能修改指针的指向
函数指针
函数也是可以被当做指针进行传递的,当一个函数被当做参数进行传递的时候,接收方的函数就可以使用该传递过来的函数了
void aa(){
cout<< "hello world" << endl;
}
void bb(void (*p)()){
p(); // 调用传递过来的函数
}
int main(){
bb(aa);
}
在函数中定义接收函数指针的变量是 函数返回值类型 (*p 取函数指针) ()
二级指针
二级指针就是指向指针的指针, 如,一个指针p 指向 一个变量 a, 那么,二级指针就是指向p指针的指针,
int a = 10;
int * p = &a;
int **p1 = &p;
p1 二级指针储存的就是p指针的内存地址
typedef
typedef 的作用是自己习惯的名字,来替已有的类型名称。 语法: `typedef 已知类型名称 自定义名称。 如, 一个类型名太长了,就可以用typedef 将 类型名转换为我们自定义的 类型名,如
typedef vector<int> ve;
int main(){
ve vect{10,20};
//ve 等价于 vector<int>
}