#include<iostream>
using namespace std;void main()
{const int a = 0;int const b = 1;//一样const int * c;//const修饰的是指针所指向的内存空间(即值),不能被修改int* const d = NULL;//const修饰的指针变量不能被修改const int* const e=NULL;//const修饰的指针变量不能被修改,指针变量所指向的内存空间(值)也不能被修改}
struct Teacher
{char name[64];int age;
};
//const修饰的是结构体指针所指向的内存空间(所以值不能修改)
int operatorTeacher01(const Teacher* pT)
{//pT.age = 22;pT = NULL;
}
//const修饰的是结构体指针所指向的指针变量(所以变量不能修改)
int operatorTeacher02(Teacher* const pT)
{pT->age = 22;//pT = NULL;
}
//都不能被修改
int operatorTeacher03(const Teacher* const pT)
{//pT->age = 22;//pT = NULL;
}
总结
结论:
C语言中的const变量
C语言中const变量是只读变量,有自己的存储空间
C++中的const常量
可能分配存储空间,也可能不分配存储空间
分配的两种情况:
当const常量为全局,并且需要在其它文件中使用
当使用&操作符取const常量的地址