static关键字的作用

static关键字的作用

1:在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放;

2:static修饰全局变量的时候,这个全局变量只能在本文件中被访问,不能再其他文件中访问,即便是extern声明也不行;

3:static修饰一个函数,则这个函数只能在本文件中被调用,不能被其他文件调用。

const关键字的作用:

1:const是constant(永恒的,始终如一)的简写,只要一个变量前面用const来修饰,就意味着该变量里的数据只可以被访问,而不可以被修改,意味着const"只读"(readonly);

2:const修饰一个变量,一定要给这个变量初始化值,若不初始化,后面就无法初始化;

3:具体作用:给读代码的人传递有用信息,声明一个常数为常量是为了告诉用户这个参数的应用目的;

4:通过给优化器一些附加信息,使关键字const也许能产生更加紧凑的代码;

5:合理使用关键字const可以使编译器保护那些不希望被修改的参数,防止无意代码的修改,可以减少bug的出现。

extern关键字作用:

1:C语言中,修饰符extern用在变量或者函数的声明前,用来说明此变量/函数是在别处定义的,要在此处引用extern声明不是定义,即不分配存储空间;

2:extern 是指当前变量或函数不是本源文件内声明的,它是外部变量和外部函数,正所谓“外来的和尚会念经”,能够很好的体现extern的价值。当我们在本文件中试图引用一个外部声明的全局变量或者函数的时候,可以在其前面加上extern,表示它是外来的“和尚” ;

3: 声明和定义知识点

1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。

eg:extern inti; //声明,不是定义

       inti; //声明,也是定义

2.如果声明有初始化式,就被当作定义,即使前面加了extern。只有当extern声明位于函数外部时,才可以被初始化。

eg:externdouble pi=3.1416; //定义

3.函数的声明和定义区别比较简单,带有{}的就是定义,否则就是声明。

eg:externdouble max(double d1,double d2); //声明

       doublemax(double d1,double d2){}//定义

4.除非有extern关键字,否则都是变量的定义。

eg:extern inti; //声明

       inti; //定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值