const的简单认识

Posted on 2018-10-19 15:38  yacbo  阅读(139)  评论(0编辑  收藏  举报
struct Teacher
{
   char name[64];
   int age;  
}

int operatorTeacher(const Teacher *pT)  //指针所指向内存空间不能被改写
{
   pT->age = 10;   //错误,不被允许
   return 0;
}

int operatorTeacher01(Teacher *const pT)  //指针不能被改写 
{
  pT->age = 10;
pT = NULL; //错误,pT不被允许修改
  return 0;
}

const好处:合理利用const,1.指针做函数参数,可以优先的提高代码可读性,减少bug;2.清楚的分清参数的输入和输出特性。

C语言中const并不是一个常量;C++语言中const是一个真正的常量。

C++编译器对const常量的处理,当碰到常量声明时,在符号表中放入常量,编译过程中若发现使用常量则直接以符号表中的值替换。发现const使用了extern或者&操作,给对应常量分配空间,兼容C。

C语言 C++语言
C语言中const变量是只读变量,有自己的存储空间

可能分配空间,也可能不分配存储空间;

当const常量为全局,并且需要在其它文件中使用;

当使用&操作符取const常量的地址。

Copyright © 2024 yacbo
Powered by .NET 8.0 on Kubernetes