C中extern、static的基本用法

來源:互聯網
上載者:User

標籤:

static:修飾檔案內部變數或者函數不能被外界訪問

extern:修飾檔案外部變數或者函數能被其他檔案訪問

預設情況下能被其他檔案訪問的

函數

內建函式(static)

1>    不同檔案,相同方法名互不影響

2>    只能在函數內部使用

外部函數(extern)

1>    預設情況下所有函數都是外部函數

2>    不允許有相同的外部函數

 

extern

1>    定義一個完整外部函數

2>    聲明一個完整外部函數

static

1>    定義一個內建函式

2>    聲明一個內建函式

1、 內建函式:只能在檔案內部調用

  定義一個內建函式

static int test(){return 10;}

聲明一個內建函式

static int test();

2、外部函數:其他檔案都可調用

   1>不允許定義相同名的函數

定義一個外部函數

extern int test2(){return 10;}

或者

int test2(){return 10;}

聲明一個外部函數

extern int test2();

或者

int test2();變數

static int age;

全域變數

1. 內部變數(static)

1>不同檔案中的同名變數互不影響

 

2. 外部變數(extern)

1>預設情況下所有的外部變數都是外部變數

2>同名外部變數都是一個變數

 

static:定義一個內部變數

extern:聲明一個外部變數

 

1、 內部變數:只能在檔案內部被訪問

定義一個內部變數

static int age;

2、 外部變數:其他檔案也能調用

  聲明一個內部變數

  extern int height;

static對局部變數的作用

   延長局部變數的生命週期

   當程式結束的時候局部變數才會被銷毀

使用場合

1>    如果某個函數調用的頻率特別高

2>    這個函數內部某個變數是固定不變的

 

C中extern、static的基本用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.