20151023-const、static、extern作用

1、关键字const什么含义

const int a;
int const a;
const int *a;
int const *a;
int * const a;
int const * const a;

前两个的作用是一样的:a是一个常整型数
第三第四个意味着:a是一个指向常整型数的指针(整型数是不可修改的,但是指针可以)
第五个:a是一个指向整形数的常指针(指针指向的整型数是可以修改的,但是指针不能修改)
最后一个意味着:a是一个指向常整型数的常指针(指针指向的整型数是不可修改的,同时指针也是不可修改的)

2、关键字static的作用

  •  static修饰的函数是一个内部函数,只能在本文件中调用,其他文件不能调用;
  •  static修饰的全局变量是一个内部变量,只能在本文件中使用,其他文件不能通过extern关键字引用;(全局变量只初始化一次,永远的驻留在内存中,程序退出的时候才会销毁)
  •  static修饰的局部变量只会初始化一次,并且在程序退出时才会回收内存。


3、关键字extern的作用
extern 表明函数和全局变量的作用范围的关键字,该关键字告诉编译器,其声明额函数或者变量可以在本模块或者其他模块中使用。
extern只是声明,需要在别的地方初始化
(也可以说是extern可以引用别的地方声明的全局变量)

  • 注:这个地方没有搞清楚,这三个关键字的1和3两个关键字的作用以后完善!!
个人学习笔记,仅供大家参考!
原文地址:https://www.cnblogs.com/yaofch107/p/4904645.html