#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常量的地址