[ภาษาซี] ประเภทของตัวแปร

4 Jan 2018

Share to:

ในภาษาซี ตัวแปรที่ประกาศขึ้นสําหรับใช้งานจะแบ่งออกเป็นสองประเภทดังนี้

ตัวแปรแบบโกลบอล (Global Variable)

ตัวแปรประเภทนี้จะถูกประกาศอยู่นอก function นั่นหมายความว่า ทุกๆ function จะสามารถเข้าถึงตัวแปรนี้ได้ คือ function ทุกๆ dunction จะามารถเรียกใช้งานตัวแปรตัวนี้ได้

ตัวแปรแบบโลคอล (Local variable)

ตัวแปรชนิดนี้จะถูกประกาศไว้ใน function ใดๆ โดยขอบเขตของตัวแปรจะอยู่ภายใน function นั้นๆ function อื่นๆจะไม่สามารถเข้าถึง หรือเรียกใช้ตัวแปรนี้ได้ เรามาดูตัวอย่างของตัวแปรทั้งสองประเภทกันครับ

#include <stdio.h>

int i = 1;

int testGlobalVar(int x){
    int n = 3;
    return n * x;
}

main(){
    int m;
    printf("Global variable i is %d\n", i);
    m = testGlobalVar(i);
    m = m * n;
    printf("Local variable m is %d\n", m);
}

จาก sourec code ตัวอย่าง จะเห็นว่าตัวแปร i ที่ประกาศไว้นอก function ทําให้สามารถเรียกใช้จาก function main ได้ แต่ n ถูกประกาศไว้ภายใน function testGlobalVar  จาก soure code เมื่อ รันโปรแกรมจะทําให้เกิด error ขึ้นที่บรรทัด 14 เนืองจาก ตัวแปร n เป็น Local Variable แล้ว function main มาเรียกใช้ ดังนั้นถ้าต้องการให้โปรแกรมรันผ่าน จะต้องตัดบรรทัดที่ 14 ออก


Copyright © 2019 - 2024 thiti.dev |  v1.19.0 |  Privacy policy |  status | 

            วงแหวนเว็บ