国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

ios extern,static,const關鍵字

2019-11-08 20:26:09
字體:
來源:轉載
供稿:網友

1.extern

外部變量,可置于變量或函數前,作用域是整個項目

注意:extern只能聲明,不能用于實現。

    #import <UIKit/UIKit.h>      @interface Data :NSObject      extern NSString *const  name;      @end            #import "Data.h"      @implentment Data      NSString *const  name=@"洋洋";      @end  
    #import <UIKit/UIKit.h>      @interface ViewController :UIViewController      @end            #import "ViewController.h"      @implementation ViewController      -(void)viewDidLoad      {           NSLog(@"%@",name);      }      @end  

2.static

內部變量(靜態變量)

a.修飾全局變量,作用域僅限于當前文件內部作用:static定義的全局變量,extern引用也獲取不到其值b.修飾局部變量作用:某個函數調用頻率比較高并且某個變量值固定不變可以使用保證局部變量永遠只初始化一次,直到程序銷毀時才釋放,即為該變量分配的空間在整個程序的執行期內都始終存在

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event      {          int i=0;          i++;          NSLog(@"%d",i);      } 2017-02-07 15:41:35.415 WeChat[3107:167112] 12017-02-07 15:41:35.909 WeChat[3107:167112] 12017-02-07 15:41:36.317 WeChat[3107:167112] 12017-02-07 15:41:36.549 WeChat[3107:167112] 1從輸出日志中我們可以看到i一直等于1,因為每次點擊進入這個方法就會重新初始化一個全新的變量i = 0,加了一次后值變為1,然后打印出結果為1,出了這個方法后局部變量i就被釋放回收,所以每次打印出來的結果都為1。

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event      {          static int i=0;          i++;          NSLog(@"%d",i);      }  

2017-02-07 15:42:39.754 WeChat[3122:168278] 1

2017-02-07 15:42:40.360 WeChat[3122:168278] 22017-02-07 15:42:40.808 WeChat[3122:168278] 32017-02-07 15:42:41.208 WeChat[3122:168278] 4

上面日志中可以看到i的值一直在自增,這就是關鍵字static修飾的局部變量的作用,讓局部變量永遠只初始化一次,一份內存,生命周期已經跟全局變量類似了,只是作用域不變。

3.const

a.const用來修飾右邊的基本變量或指針變量b.被修飾的變量只讀,不能被修改?int const *p                   //*p只讀,p變量?int *const p                   //p只讀,*p變量?const int *p                   //*p和p都只讀?int const *const p         //*p和p都只讀?const右邊是誰,則誰就不可變


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威远县| 永仁县| 庆阳市| 绥滨县| 水城县| 宜丰县| 江都市| 东港市| 那曲县| 郓城县| 密山市| 青州市| 长白| 偏关县| 米脂县| 新乐市| 乌鲁木齐市| 桂阳县| 桃园县| 拉萨市| 汪清县| 永川市| 始兴县| 新河县| 乐业县| 黔东| 溧水县| 钦州市| 温宿县| 耒阳市| 台江县| 中宁县| 平泉县| 屯门区| 遵义县| 大庆市| 布拖县| 明光市| 兴仁县| 治多县| 长春市|