文章目录
- 1、常量指针和指针常量
- 2、指针数组和数组指针
- 3、指针函数和函数指针
1、常量指针和指针常量
int a = 0;
const int* p = &a;//常量指针
int* const p1 = &a;//指针常量
常量指针:无法通过该指针修改指向地址中的内容。
指针常量:指针指向的地址不可变。
2、指针数组和数组指针
int* p_arr[3];//指针数组
int(*p_arr1)[3];//数组指针
指针数组:数组内是指针类型的数据。
数组指针:指向一个完整数组的指针,虽然p_arr1存放的是数组的首地址,但是范围是全部数组的范围,p_arr1+1内存地址加12个字节。
3、指针函数和函数指针
int a = 0;
int* func()//指针函数
{return &a;
}
int func1(int a, int b)
{return a + b;
}
int *func2(int a, int b);
func2 = func1//函数指针
指针函数:返回值为指针的函数。
函数指针:指向函数的指针,函数的名称本身也是函数指针