c++ 基础知识-const字符修饰指针
1.const修饰指针-常量指针
指针指向可以修改,但是指针指向的值不可以修改
#include
using namespace std;
int main()
{
int a = 10;
const int * p;
p = &a;
*p = 30;//error C3892: “p”: 不能给常量赋值
a = 20;//指向的值可以修改
cout<<"*p = "<<*p<
2.const修饰常量-指针常量
指针指向不可以修改,但是指针指向的值可以修改
#include
using namespace std;
int main()
{
int a = 10;
int b = 30;
int * const p = &a;
//p= &a ;//error C2734: “p”: 如果不是外部的,则必须初始化常量对象
*p = 20;//可以修改
//p = &b;//error C3892: “p”: 不能给常量赋值
cout<<*p<
3.const既修饰常量又修饰指针
指针指向不可以修改,但是指针指向的值不可以修改
#include
using namespace std;
int main()
{
int a = 10;
int b = 30;
const int * const p= &a;
//p= &a ;//error C2734: “p”: 如果不是外部的,则必须初始化常量对象
//*p = 20;//error C3892: “p”: 不能给常量赋值
//p = &b;//error C3892: “p”: 不能给常量赋值
cout<<*p<