C 程式設計中函式的作用域規則是什麼?
區域性作用域
區域性作用域指這樣一種情形,在塊內定義的變數,只在該塊內可見,在塊外不可見。
全域性作用域
全域性作用域指這樣一種情形,在塊外定義的變數,直到程式結束都可見。
舉例
#include<stdio.h>
int r= 50; /* global area */
main (){
int p = 30;
printf (“p=%d, r=%d” p,r);
fun ();
}
fun (){
printf (“r=%d”,r);
}輸出
p =30, r = 50 r = 50
與函式有關的作用域規則
函式是由執行特定任務的語句塊組成。
在函式體中宣告的變數被稱為區域性變數。
這些變數僅存在於建立它們的特定函式中。其他函式和主函式都不知道它們。
在函式完成其特定任務並返回呼叫點時,區域性變數的存在結束了。
舉例
#include<stdio.h>
main (){
int a=10, b = 20;
printf ("before swapping a=%d, b=%d", a,b);
swap (a,b);
printf ("after swapping a=%d, b=%d", a,b);
}
swap (int a, int b){
int c;
c=a;
a=b;
b=c;
}輸出
Before swapping a=10, b=20 After swapping a = 10, b=20
在函式體外宣告的變數被稱為全域性變數。這些變數可以被任何函式訪問。
舉例
#include<stdio.h>
int a=10, b = 20;
main(){
printf ("before swapping a=%d, b=%d", a,b);
swap ();
printf ("after swapping a=%d, b=%d", a,b);
}
swap (){
int c;
c=a;
a=b;
b=c;
}輸出
Before swapping a = 10, b =20 After swapping a = 20, b = 10
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP