- 给指针变量赋的值必须是地址常量或变量,不是普通整数(除了0)。
如:*p = 100; 就是错的 - 0可以赋值给指针,表示空指针
如:*p = 0;表示p为空指针。 - 可以定义void类型的指针,该指针可以被赋予任何类型的对象的地址。
如: void *p; int i = 5 ; p = &i ; //合法 - 可以定义指向常量的指针,通过在指针前加const关键字的形式。
如:int a ; const int *p = &a ; *p = 1 ; 会报错,因为p是指向常量的指针,所以不能通过p指针改变a的值。p相当于一个只读的指针。 - 可以定义指针类型的常量,通过在指针名前面加const关键字的形式。
如:int a, b ; int * const p = &a ; p = &b ; 会报错。因为p是指针常量,一旦赋值,就不能改变。 - 指针的自增,自减,以及加减运算,都是让指针指向当前位置前方或后方的第n个数据的起始位置
- 指针类型的关系运算:
- 指向相同类型数据的指针之间可以进行各种关系运算。
- 指向不同的数据表类型的指针,以及指针与一般整数变量之间的关系运算是无意义的。
- 指针可以和0之间进行等于或不等于的关系运算。例如:p == 0 或 p != 0
关于指针
最新推荐文章于 2024-07-25 21:43:46 发布