(1)常量指针:是一个指针,这个指针指向的对象是个常量
(2)语法:
qquad
const位于指针声明运算符 * 的左侧
const int * p;
int const * p;
(3)因为指针指向的对象是一个常量,所以不能通过这个指针进行修改,例:
const int a = 5; // a 是一个常量
const int * p = &a ;
*p=6 //这个是错误的,不能通过指针对这个变量进行修改
(4)常量指针本身上是一个变量,因此该常量指针可以被重新赋值,例如:
1.1 指针常量const int a = 5; // a 是一个常量
const int b = 6; // b 是一个常量
const int * p = &a ;
p = &b; //正确
(1)指针常量:是一个常量,这个常量的值是一个指针。
(2)语法:
qquad
const位于指针声明运算符 * 的右侧
int * const p ;
(3)因为指针常量是一个常量,所以这个常量不能改变,例:
int a , b ;
int * const p = &a ;
p=&b ;//这是错误的,常量不能改变
(4)因为常量指针的值是一个指针,所以指针的内容是可以改变的,例:
二、函数指针和指针函数 1.1 函数指针int a = 2 ;
int * const p = &a ;
*p=9 //正确
(1)函数指针是一个指针,这个指针指向的是一个函数;
(2)语法:
1.2 指针函数int (*func)(int x , int y);
(1)指针函数是一个函数,这个函数返回的是一个指针;
(2)语法:
三、指针数组和数组指针 1.1 指针数组int * func(int temp1,int temp2)
quad {
qquad int * p = new int ();
qquad return p ;
quad }
(1)指针数组是一个数组,数组中的每个元素存放的是一个指针类型的元素
(2)语法:
int * p[6];
数组名是p
p是一个含有6个int * 的数组
(3)图示
(1)数组指针是一个指针,该指针指向一个数组;
(2)语法:
int (* p)[6]
指针 p指向一个大小为6的整数数组
(3)图示
后续添加…



