區域性變數和全域性變數的區別
在這篇文章中,我們將瞭解區域性變數和全域性變數之間的區別。
區域性變數
它通常在函式內部宣告。
如果它沒有被初始化,則會儲存一個垃圾值。
它在函式開始執行時建立。
函式終止時它會被銷燬。
由於區域性變數/資料只能被單個函式訪問,因此無法共享資料。
需要將引數傳遞給區域性變數,以便它們能夠在函式中訪問該值。
它儲存在棧上,除非另有說明。
可以使用宣告它們的函式內部的語句來訪問它們。
當在函式中對區域性變數進行更改時,這些更改不會反映在其他函式中。
可以使用宣告它們的函式內部的語句來訪問區域性變數。
示例
以下是一個示例:
#include <stdio.h>
int main () {
/* local variable declaration */
int a, b;
int c;
/* actual initialization */
a = 10;
b = 20;
c = a + b;
printf ("value of a = %d, b = %d and c = %d
", a, b, c);
return 0;
}全域性變數
它在函式外部宣告。
如果它沒有被初始化,則預設情況下會儲存值為零。
它在程式全域性執行之前建立。
程式終止時它會被銷燬。
由於多個函式可以訪問全域性變數,因此可以共享資料。
它們在整個程式中可見,因此不需要傳遞引數。
可以使用程式中的任何語句來訪問它。
它儲存在程式內部的特定位置,該位置由編譯器決定。
當在一個函式中對全域性變數進行更改時,這些更改也會反映在程式的其他部分。
示例
以下是一個示例:
#include
/* global variable declaration */
int g;
int main () {
/* local variable declaration */
int a, b;
/* actual initialization */
a = 10;
b = 20;
g = a + b;
printf ("value of a = %d, b = %d and g = %d
", a, b, g);
return 0;
}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP