static ,const, extern 小總結

Static

1.what?
static 靜態(tài)的意思,用于修飾一個變量,作為私有的全局變量, 僅僅用static 修飾的變量是一個靜態(tài)變量
2.why?
我們想把一個變量的作用域擴展到整個類的時候,如果僅僅是這樣的話,其實我們的OC里的屬性完全可以替代。那么我們?yōu)槭裁催€會用到它呢?其實被static 修飾的變量或者是常量都有一個比較重要的特性,它會存在靜態(tài)區(qū),只初始化一次。這是我們可能想用到它,最大一個特點吧
3.how?
static int a = 0; 可以初始化,也可以不初始化,不初始化默認的就是0

Const

1.what?
被用來修飾常量的,表示是一個常量,修飾的變量是不可變的
2.why?
正如上邊說的,就是因為他修飾的變量是一個不可改變的,所以我們才會用到他
3.how?
可以加上static 修飾變量 static NSString * const name = @“Perfect”, 表示這個是一個靜態(tài)的常量,那么就是說他會在開機的時候初始化一次,而且是不可以改變的。注意:const 放在變量的前邊是修飾變量的,表示這個變量不可變,但是如果放在*前面或者static 后面,都表示修飾的是一個指針,那么表示這個指針地址不變,但是指針的內容可以改變

Extern

1.what?
剛才講到的都是一些局部變量,也就是只能在這個類里邊使用,其他的類沒有辦法直接訪問這些變量的,extern 修飾的變量正是解決了這一個問題,他所修飾的變量可以全局訪問
2.why?
上邊的what里邊其實已經解釋了,就是因為我們想在這個類之外,直接訪問這個變量
3.how?
可以直接使用 extern NSString *name = @“perfect” 表示一個全局變量
也可以配合const 使用 extern NSString * const name = @“perfect” 此時這個常量只被初始化一次,并且是全局變量

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • static 修飾局部變量 讓局部變量只初始化一次 局部變量在程序中只有一份內存 并不會改變局部變量的作用域,僅僅...
    大沖哥閱讀 1,481評論 0 1
  • const,static,extern簡介一、const與宏的區(qū)別(面試題):const簡介:之前常用的字符串常量...
    BinaryRo閱讀 284評論 0 1
  • 一、const與宏的區(qū)別: const簡介:之前常用的字符串常量,一般是抽成宏,但是蘋果不推薦我們抽成宏,推薦我們...
    金約21依代閱讀 252評論 0 1
  • 一、const與宏的區(qū)別(面試題): const簡介:之前常用的字符串常量,一般是抽成宏,但是蘋果不推薦我們抽成宏...
    Lucky丶晴閱讀 246評論 0 1
  • 1 櫻花 花子知道他不會再回來了。 他們的船隊被父親救下,他們感激萬分,那個英俊的中原男子是他們的頭領...
    筆奇閱讀 400評論 0 0

友情鏈接更多精彩內容