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

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

วิธีใช้ Floating IP ใน DigitalOcean

Floating IP คืออะไรFloating IP คือ Static IP ที่ชี้ไปยัง droplet อันใดอันหนึ่ง ซึ่งเราสามารถระบุได้ว่าต้องการจะให้ชี้ หรือ redirect ไปที่ droplet ไหน โดยสามารถทําได้อย่างง่ายดาย และรวดเร็ว

Vue.js เริ่มต้น ตอน2 (Component)

ในบทความตอนที่แล้ว "Vue.js เริ่มต้น ตอน1 (สร้าง Project)" ผมได้อธิบายถึงแนวทางการพัฒนาเว็บด้วย Vue.js ในแบบต่างๆ และการสร้าง Project ด้วย Vue-cli ถ้าใครยังไม่ได้อ่านกลับไปอ่านก่อนเนื่องจากเนื้อหาในบทความนี้เป็นเนื้อหาที่ต่อเนื่องจากบทความที่แล้ว

Unix Epoch คืออะไร

Timestampมาดูเรื่อง Timestamp ก่อนนะครับ Timestamp ก็คือข้อมูลที่บอกว่าเหตุการใดเหตุการหนึ่ง เกิดขึ้นเมื่อไร เช่น เวลาเราไปฝากเงินหรือถอนเงินจากธนาคาร จะมีวันที่และเวลาที่เราทํารายการระบุอยู่ด้วย โดยทั่วไป Timestamp จะเก็บเป็นวันที่และเวลา หรือขึ้นอยู่กับความต้องการของระบบ


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   วงแหวนเว็บ