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

更新於: 09-Mar-2021

430 次瀏覽

讓你的職業生涯騰飛

完成課程獲得認證

開始
廣告
© . All rights reserved.