C言語のメモ--static

  私にとってこのキーワードは、具体的には、このキーワードを理解するためにいくつかの時間を過ごすために、今日は明らかになっていません。関数や変数の宣言は、前に静的なデータ型を追加した後、次のような効果を持っている場合

  、関数定義:

    図1に示すように、リンクの特性の関数は、修正内部extrenalから変更します

    2、の関数ストレージタイプと影響を受けない範囲

  第二に、変数の宣言で使用する場合:

    図1に示すように、メモリから変数のタイプは、自動的に静的になります

    2、リンク属性とスコープ影響を受けていません

    3、ライフサイクルはプロセスの終了まで延長されます

  第三に、最も重要なポイント:

    それは関数や変数が、ブランドの静的であるかどうか、彼らは、ファイルへのアクセス権を持っている中で宣言されています!

 

特に、私は栗のために2.3を与えます:  

1つの#include <stdio.hに>
 2  
3  int型の楽しい(無効)。
4  
5  INTメイン(ボイド6  {
 7      ......
 8      楽しいです()。
9      ......
 10      戻り 0 ;
11  }
 12  
13  INTの楽しみ()
 14  {
 15    静的 INT 16     ......    
 17 }

 

  ここで、エンド楽しいことにはint型の楽しみを静的修飾子はライン17フィニッシュに機能開始の範囲から、回収されなかっされる場合。しかし、今、元の関数からプログラム全体のサイクルに変数宣言異なり、プログラムは変数aがあるでしょう実行を開始し、プログラムの最後に変数がリサイクルされます。

  しかし、しかし、しかし、その役割はまだ範囲が同じになっています!

静的が、それは関数や変数であるかどうか、覚えていないであろう範囲を変更する、しかしますリンクフィールドを変更

 

おすすめ

転載: www.cnblogs.com/daker-code/p/11619631.html