欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言基礎(chǔ)全局變量與局部變量教程詳解

 更新時間:2021年11月19日 08:53:13   作者:RookieStriver  
此處對于全局與局部做一些簡要的介紹,包括全局變量與局部變量,靜態(tài)全局變量與靜態(tài)局部變量,全局函數(shù)與靜態(tài)函數(shù),作者實屬初學,文中若有理解不當之處,還請朋友們不吝指正

一:局部變量與全局變量

1.1:局部變量

局部變量:在函數(shù)內(nèi)部定義的變量 ,auto可加可不加
作用域:從定義到本函數(shù)結(jié)束
生命周期:從定義到該函數(shù)結(jié)束

1.2:全局變量

全局變量:在函數(shù)外部定義的變量、所以存在數(shù)據(jù)區(qū)
作用域:項目中所有文件 。

注意:在其他文件中使用需要聲明,且不可重名extern int a,extern是關(guān)鍵字,專用來聲明外部符號。

生命周期:程序開始創(chuàng)建到程序結(jié)束銷毀。

1.3:代碼解釋

在這里插入圖片描述

注:當局部變量與全局變量同名時,局部變量優(yōu)先使用。

1.4:const修飾的變量的修改

全局變量
直接修改 失敗
間接修改 失敗 原因放在常量區(qū),受到保護。
局部變量
直接修改 失敗
間接修改 成功 原因放在棧上 局部變量存在棧區(qū)。
詳情見我的C語言指針基礎(chǔ)篇

二:靜態(tài)局部變量與靜態(tài)全局變量

2.1:static關(guān)鍵字

static :
修飾局部變量:其實是改變了局部變量的存儲類型,(從棧區(qū)到靜態(tài)區(qū))。從而使得靜態(tài)的局部變量除出了作用域也不會銷毀。對于局部變量 其實有一個“保值”的作用。
修飾全局變量:一個全局變量在整個工程的其他文件內(nèi)部都可以使用,是因為全局變量有外部鏈接屬性,當static修飾時,外部鏈接屬性就變成了內(nèi)部鏈接屬性,使這個全局變量只能在自己的源文件內(nèi)部使用,其他文件不可使用。

2.2:靜態(tài)局部變量

靜態(tài)局部變量:在函數(shù)內(nèi)部定義的變量,使用static修飾,保存一個值在靜態(tài)區(qū)(保值)。
作用域:當前函數(shù)中。
生命周期:程序開始創(chuàng)建到程序結(jié)束銷毀

靜態(tài)局部變量只會初始化一次 可以多次賦值
在數(shù)據(jù)區(qū)進行存儲(靜態(tài)區(qū))

2.3:靜態(tài)全局變量

靜態(tài)全局變量:在函數(shù)外部定義的變量,使用static修飾,可以在本文件中使用,不可再同一項目的其它文件中使用。
作用域:當前文件中。
生命周期:程序開始創(chuàng)建到程序結(jié)束銷毀。

注:全局變量、靜態(tài)局部變量、靜態(tài)全局變量如果未初始化系統(tǒng)會默認初始化值為0。但是局部變量需要初始化。

2.4:匯總

在這里插入圖片描述

三:全局函數(shù)與靜態(tài)函數(shù)

3.1:全局函數(shù)

全局函數(shù):沒有任何修飾的函數(shù)。
作用域:項目中所有文件(其他文件使用時也需要聲明)。
生命周期:程序開始創(chuàng)建到程序結(jié)束銷毀。

3.2:靜態(tài)函數(shù)

靜態(tài)函數(shù):使用static修飾的函數(shù)。
作用域:當前文件中。
生命周期:程序開始創(chuàng)建到程序結(jié)束。
注:靜態(tài)函數(shù)可以和全局函數(shù)重名 ,也服從就近原則。

3.3:匯總表

在這里插入圖片描述

以上就是C語言基礎(chǔ)全局變量與局部變量教程詳解的詳細內(nèi)容,更多關(guān)于C語言基礎(chǔ)全局與局部變量的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論