C語言入門篇--局部全局變量的作用域及生命周期
1.變量的分類
1.1 局部變量
也稱臨時變量,在函數(shù)、代碼塊內(nèi)定義,一般只可在代碼塊內(nèi)部使用的變量。
1.2 全局變量
具有全局性,放在函數(shù)外,在同一___.c文件中可在其定義之后的任何地方使用。
(1)main函數(shù)也是函數(shù)。
(2)若想在全局變量定義之前使用全局變量,可以對其做前向聲明后使用。
(3)全局變量是支持跨文件訪問的。
1.3 知識點
1.3.1 就近原則
局部變量和全局變量同名采取–>就近原則。
若全局變量和局部變量同名時,優(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 訪問規(guī)則
全局變量在任何函數(shù)內(nèi)都可被直接訪問,而局部變量只可在本函數(shù)內(nèi)被訪問。
#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語言中變量只在定義變量及以后的區(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("輸入兩個操作數(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 全局變量的作用域
是整個工程。
3.2 生命周期
指變量的創(chuàng)建到變量的銷毀之間的時間段(即變量的存在時間)。
3.2.1 局部變量的生命周期
是進(jìn)入作用域 生命周期開始,出作用域 生命周期結(jié)束。
當(dāng)函數(shù)調(diào)用完后此變量也就釋放掉了。
(隨函數(shù)的調(diào)用而形成,隨函數(shù)的釋放而釋放。)
3.2.2 全局變量的生命周期
是整個程序的生命周期。
程序跑起來后到程序退出一直存在。
(隨程序的存在而存在,隨程序的結(jié)束而釋放。)
以上就是C語言入門篇--局部全局變量的作用域及生命周期的詳細(xì)內(nèi)容,更多關(guān)于C語言的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
VS?Code+msys2配置Windows系統(tǒng)下C/C++開發(fā)環(huán)境
我們在windows10中使用VS Code做C++程序開發(fā)過程中,需要安裝MSYS2和MinGW,下面這篇文章主要給大家介紹了關(guān)于VS?Code+msys2配置Windows系統(tǒng)下C/C++開發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-12-12C++11標(biāo)準(zhǔn)庫bind函數(shù)應(yīng)用教程
bind函數(shù)定義在頭文件functional中,可以將bind函數(shù)看做成一個通用的函數(shù)適配器,他接收一個可調(diào)用對象,生成一個新的可調(diào)用對象來"適應(yīng)"原對象的參數(shù)列表。本文將帶大家詳細(xì)了解一下bind函數(shù)的應(yīng)用詳解2021-12-12