1. 常量指针
  • 概念:指针所指向的内存空间,空间中的数据只可以读不可以改。
  • const int code =1234;//code就不可以更改了, const int numbers = {1,2,3,4};//同上
    创建一个常量指针(常量指针通常在声明时初始化)
    const int *p = new int(100);//这个内存空间赋值100
    我们创建的const普通类型的变量必须要对其进行初始化,但是使用new动态分配的内存空间可以不进行初始化
  • 指向字符串的常量指针不允许修改字符
    char str[10] = "Hello"; const char *p_str = srt; //*p_str = `a`;//这样会报错
  1. 指针常量
  • 概念:指针本身是一个常量,不允许指向另外的内存空间,但其指向的内存空间是可写的。
  • 创建一个指针常量(多注意const的位置)
    char * const p_str1 = str;
    我们可以修改p_str1所指向的值,但是不可以使p_str指向新的内存空间。
    *p_str = `a`; //p_str1 = new char[3];//报错