C語(yǔ)言入門篇--局部全局變量的作用域及生命周期
1.變量的分類
1.1 局部變量
也稱臨時(shí)變量,在函數(shù)、代碼塊內(nèi)定義,一般只可在代碼塊內(nèi)部使用的變量。
1.2 全局變量
具有全局性,放在函數(shù)外,在同一___.c文件中可在其定義之后的任何地方使用。
(1)main函數(shù)也是函數(shù)。
(2)若想在全局變量定義之前使用全局變量,可以對(duì)其做前向聲明后使用。
(3)全局變量是支持跨文件訪問(wèn)的。
1.3 知識(shí)點(diǎn)
1.3.1 就近原則
局部變量和全局變量同名采取–>就近原則。
若全局變量和局部變量同名時(shí),優(yōu)先使用離使用地方近的變量。(不推薦使用同名的變量)
#include <stdio.h> int global = 2020;//全局變量 int main() { int local = 2021;//局部變量 int global = 2022;//局部變量 printf("global = %d\n", global); return 0; }
1.3.2 訪問(wèn)規(guī)則
全局變量在任何函數(shù)內(nèi)都可被直接訪問(wèn),而局部變量只可在本函數(shù)內(nèi)被訪問(wèn)。
#include <stdio.h> double weight = 45.5;//全局變量 void fun() { printf("%f\n", weight); printf("%f\n", high);//error! } int main() { double high = 180.5;//局部變量 printf("%f\n", weight); printf("%f\n", high); fun(); return 0; }
1.3.3 有效范圍
C語(yǔ)言中變量只在定義變量及以后的區(qū)域中有效(與宏類似)。
#include <stdio.h> int main() { printf("%f\n", weight);//error! } return 0; } double weight = 45.5;
2.變量的使用
(1)變量先定義后使用。
(2)注意輸入輸出格式控制,scanf切記加&。
#include <stdio.h> int main() { int num1 = 0; int num2 = 0; int sum = 0; printf("輸入兩個(gè)操作數(shù):>"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("sum = %d\n", sum); return 0; }
3.變量的作用域和生命周期
3.1 作用域
指變量可有效作用的范圍。
3.1.1 局部變量的作用域
是變量所在的局部范圍。
3.1.2 全局變量的作用域
是整個(gè)工程。
3.2 生命周期
指變量的創(chuàng)建到變量的銷毀之間的時(shí)間段(即變量的存在時(shí)間)。
3.2.1 局部變量的生命周期
是進(jìn)入作用域 生命周期開(kāi)始,出作用域 生命周期結(jié)束。
當(dāng)函數(shù)調(diào)用完后此變量也就釋放掉了。
(隨函數(shù)的調(diào)用而形成,隨函數(shù)的釋放而釋放。)
3.2.2 全局變量的生命周期
是整個(gè)程序的生命周期。
程序跑起來(lái)后到程序退出一直存在。
(隨程序的存在而存在,隨程序的結(jié)束而釋放。)
以上就是C語(yǔ)言入門篇--局部全局變量的作用域及生命周期的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)宿舍管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)宿舍管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06VS?Code+msys2配置Windows系統(tǒng)下C/C++開(kāi)發(fā)環(huán)境
我們?cè)趙indows10中使用VS Code做C++程序開(kāi)發(fā)過(guò)程中,需要安裝MSYS2和MinGW,下面這篇文章主要給大家介紹了關(guān)于VS?Code+msys2配置Windows系統(tǒng)下C/C++開(kāi)發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-12-12C語(yǔ)言如何計(jì)算兩個(gè)數(shù)的最小公倍數(shù)
這篇文章主要介紹了C語(yǔ)言如何計(jì)算兩個(gè)數(shù)的最小公倍數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C++11標(biāo)準(zhǔn)庫(kù)bind函數(shù)應(yīng)用教程
bind函數(shù)定義在頭文件functional中,可以將bind函數(shù)看做成一個(gè)通用的函數(shù)適配器,他接收一個(gè)可調(diào)用對(duì)象,生成一個(gè)新的可調(diào)用對(duì)象來(lái)"適應(yīng)"原對(duì)象的參數(shù)列表。本文將帶大家詳細(xì)了解一下bind函數(shù)的應(yīng)用詳解2021-12-12淺談在函數(shù)中返回動(dòng)態(tài)的內(nèi)存
下面小編就為大家?guī)?lái)一篇淺談在函數(shù)中返回動(dòng)態(tài)的內(nèi)存。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12