數據類型有:int float等
存儲類型有:自動變量(auto)、靜態變量 (static)、外部變量(extern)以及寄存器變量(register)
auto: 函數中所有的非靜態局部變量。
register: 一般經常被使用的的變量(如某一變量需要計算幾千次)可以設 置成寄存器變量,register 變量會被存儲在寄存器中,計算速度遠快於存在內存 中的非 register 變量。不能是全局變量
static: 在變量前加上 static 關鍵字的變量。static變量只初始化一次
extern: 把全局變量在其他源文件中聲明成 extern 變量,可以擴展該全局變 量的作用域至聲明的那個文件,其本質作用就是對全局變量作用域的擴展
變量的作用域和生存周期
| 存儲類別 | 存儲期 | 作用域 | 聲明方式 |
|---|---|---|---|
| auto | 自動 | 塊 | 塊內 |
| register | 自動 | 塊 | 塊內,使用關鍵字register |
| static(局部) | 靜態 | 塊 | 塊內,使用關鍵字static |
| static(全局) | 靜態 | 文件內部 | 所有函數外,使用關鍵字static |
| extern | 靜態 | 文件外部 | 所有函數外 |
