最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言基礎全局變量與局部變量教程詳解

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

一:局部變量與全局變量

1.1:局部變量

局部變量:在函數內部定義的變量 ,auto可加可不加
作用域:從定義到本函數結束
生命周期:從定義到該函數結束

1.2:全局變量

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

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

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

1.3:代碼解釋

在這里插入圖片描述

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

1.4:const修飾的變量的修改

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

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

2.1:static關鍵字

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

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

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

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

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

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

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

2.4:匯總

在這里插入圖片描述

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

3.1:全局函數

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

3.2:靜態(tài)函數

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

3.3:匯總表

在這里插入圖片描述

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

相關文章

  • 基于C++中覆蓋,重載,隱藏的一點重要說明

    基于C++中覆蓋,重載,隱藏的一點重要說明

    下面小編就為大家?guī)硪黄贑++中覆蓋,重載,隱藏的一點重要說明。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C語言實現掃雷算法簡易版

    C語言實現掃雷算法簡易版

    這篇文章主要為大家詳細介紹了C語言實現掃雷算法簡易版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言實現簡單彈球游戲

    C語言實現簡單彈球游戲

    這篇文章主要為大家詳細介紹了C語言實現簡單彈球游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言中大小寫字母相互轉化的方法示例

    C語言中大小寫字母相互轉化的方法示例

    在C語言中,大小寫字母的轉換可以通過標準庫中的ctype.h頭文件提供的函數來實現,具體來說,toupper()函數可以將小寫字母轉換為大寫字母,而tolower()函數可以將大寫字母轉換為小寫字母,本文給大家介紹了C語言中大小寫字母相互轉化的方法,需要的朋友可以參考下
    2024-08-08
  • C語言實現掃雷游戲

    C語言實現掃雷游戲

    這篇文章主要為大家詳細介紹了C語言實現掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程

    Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程

    這篇文章主要介紹了Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • C++使用鏈表實現圖書管理系統(tǒng)

    C++使用鏈表實現圖書管理系統(tǒng)

    這篇文章主要介紹了C++使用鏈表實現圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言中計算函數執(zhí)行時間的三種方式

    C語言中計算函數執(zhí)行時間的三種方式

    本文主要介紹了C語言中計算函數執(zhí)行時間的三種方式,主要包括clock(),timeb和time,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 詳解C++中的數據抽象

    詳解C++中的數據抽象

    這篇文章主要介紹了詳解C++中的數據抽象,數據抽象是指,只向外界提供關鍵信息,并隱藏其后臺的實現細節(jié),即只表現必要的信息而不呈現細節(jié),需要的朋友可以參考下
    2023-05-05
  • OpenGL通過中點法繪制直線和圓

    OpenGL通過中點法繪制直線和圓

    這篇文章主要為大家詳細介紹了OpenGL通過中點法繪制直線和圓,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論

菏泽市| 龙井市| 安徽省| 蕲春县| 元阳县| 祥云县| 万源市| 龙胜| 福贡县| 长沙市| 莱西市| 仪陇县| 肥乡县| 印江| 益阳市| 泾阳县| 兴城市| 巧家县| 汉阴县| 富宁县| 恩平市| 靖边县| 遵义市| 松滋市| 岱山县| 凌云县| 汉寿县| 仙居县| 巩留县| 佛教| 莎车县| 绥德县| 卫辉市| 郧西县| 安新县| 监利县| 保定市| 钟山县| 温泉县| 锡林浩特市| 房产|