C 語言中的區域性作用域和全域性作用域規則是什麼?
全域性作用域
全域性作用域指定在塊外定義的變數到程式結束都是可見的。
示例
#include<stdio.h>
int c= 30; /* global area */
main (){
int a = 10;
printf (“a=%d, c=%d” a,c);
fun ();
}
fun (){
printf (“c=%d”,c);
}輸出
a =10, c = 30 c = 30
區域性作用域
區域性作用域指定在塊內定義的變數僅在該塊中可見,在塊外不可見。
在塊或函式(區域性)中宣告的變數可在該塊內訪問,在塊外不存在。
示例
#include<stdio.h>
main (){
int i = 1;// local scope
printf ("%d",i);
}
{
int j=2; //local scope
printf("%d",j);
}
}輸出
1 2
即使變數在各自的塊中被重新宣告並且具有相同名稱,也會被認為是不同的。
示例
#include<stdio.h>
main (){
{
int i = 1; //variable with same name
printf ("%d",i);
}
{
int i =2; // variable with same name
printf ("%d",i);
}
}輸出
1 2
在名稱與外部塊中的名稱相同的塊內重新宣告變數,在執行內部塊時會遮蔽外部塊變數。
示例
#include<stdio.h>
main (){
int i = 1;{
int i = 2;
printf (“%d”,i);
}
}輸出
2
在內部塊內宣告的變數可用於巢狀塊,但前提是這些變數未在內部塊中宣告。
示例
#include<stdio.h>
main (){
int i = 1;{
int j = 2;
printf ("%d",j);
printf ("%d",i);
}
}輸出
2 1
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP