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

4 Jan 2018,
Share: 

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

ตัวแปรแบบโกลบอล (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 ออก

Suggestion blogs

Arduino ตอน2 ส่วนประกอบของ Arduino Board

สวัสดีครับ สําหรับการเริ่มต้น Arduino เราจําเป็นจะต้องรู้จักส่วนต่างๆของ Arduino กันก่อน เพื่อเราจะได้ใช้งานได้อย่างถูกต้อง และไม่ทําให้ Arduino Board เกิดความเสียหาย

การใช้งาน crontab เพื่อรัน script ตามเวลาที่กําหนด

cron คืออะไร?cron เป็น utilities ตัวหนึ่งทำงานบนระบบปฏิบัติการ linux ทําหน้าที่ช่วยจัดการให้ software ของเรารันโดยอัตโนมัติ ตาม scheduling ที่เรา config ไว้

pointer c/c++

pointer เป็นชนิดข้อมูลประเภทหนึ่งที่สร้างจากชนิดข้อมูลแบบพื้นฐานทั่วไป โดยชนิดข้อมูลแบบ pointer จะแตกต่างกับชนิดข้อมูลพื้นฐานตรงที่ชนิดข้อมูลแบบพื้นฐานจะเก็บและดึงข้อมูลจากตัวแปรโดยตรง แต่ชนิดข้อมูลแบบ pointer จะเก็บค่าที่อยู่(Address) ของตัวแปรอื่น และใช้ค่าที่อยู่นี้อ้างอิงไปยังข้อมูลที่เก็บอยู่ในตัวแปรนั้นอีกที เพื่อทําการเก็บและดึงข้อมูลจากตัวแปรนั้นอีกที


Copyright © 2019 - 2026 thiti.dev |  v1.61.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ