const ;static;extern的使用与作用

 const                                                                /**
     const :常量
     const  与宏的区别
     1.编译时刻 : const: 编译时刻 ,  宏:预编译
     2.编译检查: const  会检查错误 , 宏: 不会检查错误
     3.宏的好处: 可以定义代码
     4.宏的坏处: 编译时间过长, 因此常用的字符串通常使用 const修饰
     注意:很多博客说宏使用的多了会造成内存不断增加,每次都会分配一个内存, 打印地址可以验证

const 作用:
     1.仅仅是用来修饰右边的变量(只能修饰变量:基本变量,指针变量,对象变量)
     2.const修饰的变量表示只读

2.*static作用

*static作用
     1.修饰局部变量
       * 延长这个局部变量的生命周期,只要成员运行,局部变量就会一直存在
       * 局部变量只会分配一次内存,为什么?用 static修饰的代码,只会在程序一启动,就会执行,以后就不会再执行
     2.修饰全局变量
       * 只会修改全局变量的作用域,表示会只能是当前文件使用

3.  extern 作用:

extern 作用:

1.声明一个全局变量,不能定义变量
       注意: extern 修饰的变量不能初始化
       使用场景 : 一般用于声明一个全局变量

 static const 一起使用

//表示修饰的内容只能在本文件中使用,并且是只读的,不能改

5.   static 不需要共享我们的全局常量

extern 共享我们使用全局变量

时间: 2024-10-15 23:02:06

const ;static;extern的使用与作用的相关文章

iOS之const,static,extern简介

const,static,extern简介 一.const与宏的区别: • const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. ? 编译时刻:宏是预编译(编译之前处理),const是编译阶段. ? 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误. ? 宏的好处:宏能定义一些函数,方法. const不能. ? 宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换. • 注意:很多Blog都说使用宏,

iOS 中 const static extern 关键字总结

在看一些高手所写的代码时,总是可以看到我们小白平常不用的关键字,一次,两次,三次,不能总是不明不白,现在总结一下日常开发中常用的关键字的作用: 关键字const/static/extern的释义和用法 1. const 这个单词翻译成中文就是 "常量"的意思.在程序中我们知道常量的值是不能变的,固定的.所以const关键字的作用就是: (1) const用来修饰右边的基本变量或指针变量 (2)被修饰的变量只读,不能被修改 下面举一个简单的例子: //声明一个int类型的变量a 初始化值

const/static/extern/self/super

一 .const 和 宏 的区别 const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 编译时刻:宏是预编译(编译之前处理),const是编译阶段. 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误. 宏的好处:宏能定义一些函数,方法. const不能. 宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换. 注意: 有很多博客(Blog)描述宏时,说使用宏会消耗很多内存,这种说法并不正确.它并不会生

const&static&extern

const 结论: 如果const写在指针变量名的旁边, 那么指针的指向不能变, 而指向的内存空间的值可以变 如果const写在数据类型的左边或者右边, 那么指针的指向可以改变, 但是指向的内存空间的值不能改变 // 字符串常量,修饰account,既:account这个是常量不能改,但是他所指向的值 @"这个是可以改的",而且文档字符串常量都是这样的,颜色和宏的颜色也不一样. static NSString * const account = @"account"

03 - const static extern

const是一个C语言的关键字,它限定一个变量不允许被改变.使用const可以在一定程度上提高程序的安全性和可靠性,再者在看别人的代码作品的时候也可以有助于清晰理解const所起的作用. 1.const和#define的区别 (1)编译器处理的方式不相同 define定义的宏是在预处理阶段展开的,而const定义的常量则是在编译阶段使用的 (2)类型和安全检查不同 define宏没有类型,并且不做任何的类型检查,仅仅是展开 const常量具有具体的类型,在编译阶段会执行类型检查 (3)存储方式不

const static extern inline volatile explicit

static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值: (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问: (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内: (4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝: (5)在类中的static成员函数属于整个

static extern const修饰符

const const修饰的东西不能被修改(由左至右解读-->顺时针螺旋法则) 指针类型根据位置的不同可以理解成3种情况: 1.常量指针 NSString * const pt1; //常量指针,指向一个字符串 //pt1初始化之后不能赋值,指向的对象值可以修改. //定义字符串常量 //NSString* const [email protected]"123"; @"123"存储在文字常量区,相同的字符串只存储一份 NSString* [email pro

【学习笔记】【C语言】static和extern对函数的作用

如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之间可能会有关联,比如a.obj可能会调用c.obj中定义的一个函数.将这些相关联的目标文件链接在一起后才能生成可执行文件. 外部函数:如果在当前文件中定义的函数允许其他文件访问.调用,就称为外部函数.C语言规定,不允许有同名的外部函数.内部函数:如果在当前文件中定义的函数不允许其他文件访问.调用,只能在内部使用,就称为内部函数.C语言规定不同的源文件可以有同名的内部函数

【学习笔记】【C语言】static和extern对变量的作用

 1.全局变量分2种: 外部变量:定义的变量能被本文件和其他文件访问 1> 默认情况下,所有的全局变量都是外部变量 1> 不同文件中的同名外部变量,都代表着同一个变量  内部变量:定义的变量只能被本文件访问,不能被其他文件访问 1> 不同文件中的同名内部变量,互不影响  static对变量的作用: 定义一个内部变量  extern对变量的作用: 声明一个外部变量  static对函数的作用: 定义和声明一个内部函数  extern对函数的作用: 定义和声明一个外部函数(可以省略) 2.代