const限定符: 定义的一般形式: const 数据类型 常量名 = 常量值; 数据类型 const 常量名 = 常量值; 举例: const float PI = 3.14159f; 注意事项: 1. 常变量在定义时必须初始化; 2. 常变量初始化之后,不允许再被赋值; const限定符与指针 const int * p; //const在*左边,表示*p为常量,不可更改(经由*p不能更改指针所指向的内容) //但指针p还是变量,想怎么变都可以。这就是所谓的底层const 举例: int b = 22; const int * p; p = &b; //* p = 200; //Error *p是常量,不能再对常量赋值 int * const p = &b;//在声明的同时必须初始化,const在*的右边,表示p为常量,p所指向的地址 //是不可更改的,所以当把b的地址赋值给它时,会报错。这也就是所谓的顶层const 举例: int b = 33; int c = 22; int * const p = &b;//在声明的同时必须初始化,const在*的右边,表示p为常量,p所指向的地址 //是不可更改的,所以当把b的地址赋值给它时,会报错 //p = &c; //Error p为常量 const int *const p;//这个就相当于以上两种情况的混合体,p是常量, //所以不能把test2的地址赋给p;同时*p也是常量,所以*p的内容不可更改; 举例: int test1 = 10; int test2 = 20; const int * const p = &test1; p = &test2; //Error,p是常量,所以不能把test2的地址赋给p; *p = 30; //Error,*p是常量,所以*p的内容不可更改; |
底层const和顶层const
最新推荐文章于 2023-04-11 16:59:43 发布