วันจันทร์ที่ 13 กุมภาพันธ์ พ.ศ. 2560

บทที่9 ข้อมูลชนิดโครงสร้าง และการจัดการแฟ้มข้อมูล

สรุปบทที่9
เรื่อง ข้อมูลชนิดโครงสร้าง และการจัดการแฟ้มข้อมูล
ข้อมูลโครงสร้าง มีรูปแบบการจัดเก็บข้อมูลที่เหมือนกับระเบียบหรือเรคอร์ด ที่แต่ละฟิลด์ภายในเรคอร์ดนั้น สามารถมีชนิดข้อมูลแตกต่างกันได้
                กรณีที่ต้องการจัดเก็บข้อมูลโครงสร้างหลายๆ เรคอร์ด การประกาศโครงสร้างหลายๆ ตัวแปร คงไม่เหมาะสม ดังนั้น วิธีแก้ไขก็คือ การนำเอาอาร์เรย์มาช่วย ด้วยการประกาศเป็น อาร์เรย์ของโครงสร้าง
                เท็กซ์ไฟล์ เป็นแฟ้มที่จัดเก็บข้อความ ซึ่งมีคุณลักษณะสำคัญคือ จะบันทึกข้อมูลที่เป็นข้อความต่างๆ ตามรหัสแอสกีของแต่ละตัวอักขระ ดังนั้น เท็กซ์ไฟล์จึงสามารถถูกเปิดอ่านด้วยโปรแกรม Notepad และสามารถอ่านข้อความที่บันทึกไว้ได้อย่างเข้าใจ
                ไบนารีไฟล์ เป็นแฟ้มข้อมูลที่จัดเก็บข้อมูลชนิดเลขฐานสอง ดังนั้น ไบนารีไฟล์เมื่อถูกเปิดด้วยโปรแกรม Notepad แล้ว จะเป็นรหัสข้อมูลต่างๆ ที่อ่านไม่รู้เรื่อง เนื่องจากเป็นภาษาเครื่องนั่นเอง
                ฟังก์ชัน fopen() นำมาใช้เพื่อการเปิดแฟ้มข้อมูลตามโหมดที่ต้องการ
                ฟังก์ชัน fclose() นำมาใช้เพื่อการปิดข้อมูล
                ฟังก์ชัน fprintf() เป็นฟังก์ชันที่ใช้สำหรับบันทึกข้อมูลลงในแฟ้ม
                ฟังก์ชัน fscanf() เป็นฟังก์ชันที่นำมาใช้สำหรับการอ่านข้อมูลจากแฟ้ม

ผลการค้นหารูปภาพสำหรับ ข้อมูลชนิดโครงสร้าง และการจัดการแฟ้มข้อมูล

บทที่8 การสร้างฟังก์ชันและตัวแปรชนิดพอยน์เตอร์

สรุปบทที่ 8
เรื่อง การสร้างฟังก์ชันและตัวแปรชนิดพอยน์เตอร์   

การเขียนโปรแกรมในภาษาซี  จำเป็นต้องแบ่งโปรแกรมออกเป็น ฟังก์ชันย่อยๆ ก็เพราะว่า
1. เพื่อเป็นไปตามหลักการของการโปรแกรมเชิงโครงสร้าง
2. เพื่อง่ายต่อการตรวจสอบ และการบำรุงรักษา
3. เพื่อหลีกเลี่ยงการเขียนชุดคำสั่งเดิม ที่ทำงานซ้ำๆ
4. เพื่อสร้างกลุ่มคำสั่งประมวลผลเฉพาะงาน
ฟังก์ชัน มีความแตกต่างกับโพรซีเยอร์ คือ ฟังก์ชันจะต้องมีการคืนค่ากลับเสมอ โดยชนิดข้อมูลที่คืนค่ากลับไป อาจมีชนิดข้อมูลประเภท int, float หรือ char เป็นต้น
ปกติชนิดข้อมูลที่คืนค่ากลับไปยังฟังก์ชัน main() คือเลขจำนวนเต็ม หรือ int 
การเข้าถึงฟังก์ชัน โดยปกติจะมีอยู่ 3 รูปแบบด้วยกันคือ
1. ฟังก์ชันที่ไม่มีการส่งผ่านค่าใดๆลงไป
2. ฟังก์ชันที่มีการส่งผ่านค่าทางเดียว
3. ฟังก์ชันที่จะส่งผ่านค่าไปและคืนค่ากลับมา
กรณีที่โปรแกรมได้นำฟังก์ชันที่สร้างขึ้นเอง อยู่ถัดจากฟังก์ชัน main() จำเป็นต้องประกาศฟังก์ชันต้นแบบที่ต้นโปรแกรมด้วย 
พอยน์เตอร์หรือตัวชี้ เป็นตัวแปรประเภทหนึ่ง ที่มีความแตกต่างจากตัวแปรเก็บข้อมูลทั่วไป ซึ่งแทนที่จะจัดเก็บข้อมูล กลับเก็บที่อยู่ของตัวแปรอื่นแทน
เครื่องหมาย & ที่ใช้กับพอยน์เตอร์ หมายความว่า ที่อยู่ของ
เครื่องหมาย * ที่ใช้กับพอยน์เตอร์ หมายความว่า ค่าที่บรรจุอยู่ในแอดเดรสนั้น
ตามปกติ โปรแกรมทั่วไปมิได้ใช้ประโยชน์จากพอยน์เตอร์ แต่พอยน์เตอร์มักนำไปใช้จัดการกับโครงสร้างข้อมูลที่ซับซ้อนอย่างสแต็ก คิว และลิงก์ลิสต์ เป็นต้น

ผลการค้นหารูปภาพสำหรับ การสร้างฟังก์ชันและตัวแปรชนิดพอยน์เตอร์

บทที่7 อาร์เรย์ และฟังก์ชันจัดการสตริง



สรุปบทที่7
เรื่อง อาร์เรย์ และฟังก์ชันจัดการสตริง
อาร์เรย์ เป็นตัวแปรประเภทหนึ่งที่เหมาะกับการนำไปใช้งานเพื่อประมวลผลกลุ่มชุดข้อมูลเดียวกัน ทำให้อ้างอิงเพื่อใช้งานง่ายกว่า
การอ้างอิงตำแหน่งของอาร์เรย์ในแต่ละอิลิเมนต์ จะใช้เลขดัชนี หรือขับสคริปต์เป็นตัวชี้ระบุ
ตำแหน่งอาร์เรย์ในภาษาซี เริ่มต้นที่ค่าศูนย์
ตัวแปร อาร์เรย์แบบ 1 มิติ และ อาร์เรย์แบบ 2 มิติ มักถูกนำมาใช้งานมากที่สุด
ข้อความหรือสตริง ก็คืออาร์เรย์ของตัวอักขระ
ฟังก์ชันจัดการสตริง ถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์ <string.h>
ฟังก์ชั่น strcpy() นำมาใช้เพื่อคัดลอกข้อความไปเก็บไว้ในตัวแปร หรือคัดลอกจากตัวแปรสตริงหนึ่งไปเก็บไว้ยังตัวแปรของอีกสตริงหนึ่ง
ฟังก์ชัน strlen() เป็นฟังก์ชันที่นำมาใช้เพื่อนับจำนวนตัวอักขระที่บรรจุอยู่ในสตริง
ฟังก์ชัน strcmp() เป็นฟังก์ชันที่นำมาใช้เพื่อเปรียบเทียบสตริง ตัว ว่าตรงกันหรือไม่
ฟังก์ชัน strcat()  เป็นฟังก์ชันที่นำมาใช้เพื่อผนวกสตริง 2 สตริงเข้าด้วยกัน
ฟังก์ชัน strlwr() เป็นฟังก์ชันที่นำมาใช้แปลงข้อความให้เป็นตัวพิมพ์เล็ก
ฟังก์ชัน strupr() เป็นฟังก์ชันที่นำมาใช้แปลงข้อความให้เป็นตัวพิมพ์ใหญ่
ฟังก์ชัน strrev() เป็นฟังก์ชันที่นำมาใช้งานเพื่อสลับตำแหน่งข้อความแบบกลับหัว
ฟังก์ชัน gets() เป็นฟังก์ชันที่นำมาใช้เพื่อรับค่าข้อความสตริง ซึ่งสามารถบรรจุข้อความระหว่างสตริงได้
ฟังก์ชัน puts() เป็นฟังก์ชันที่นำมาใช้พิมพ์ข้อความ หรือตัวแปรสตริง
ฟังก์ชันที่นำมาใช้เพื่อแปลงข้อความสตริงที่เก็บตัวเลข มาเป็นค่าตัวเลขที่สามารถนำไปคำนวณได้ จะถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์ <stdlib.h>
ฟังก์ชัน atof() เป็นฟังก์ชันที่นำมาใช้แปลงข้อความตัวเลขเป็นค่าตัวเลขที่นำมาคำนวณได้ โดยมีชนิดข้อมูลเป็น double
ฟังก์ชัน atoi() เป็นฟังก์ชันที่นำมาใช้แปลงข้อความตัวเลขเป็นค่าตัวเลขที่นำมาคำนวณได้ โดยมีชนิดข้อมูลเป็น int
ฟังก์ชัน atoll() เป็นฟังก์ชันที่นำมาใช้แปลงข้อความตัวเลขเป็นตัวเลขที่นำมาคำนวณได้ โดยมีชนิดข้อมูลเป็น long int



ผลการค้นหารูปภาพสำหรับ เรื่อง อาร์เรย์ และฟังก์ชันจัดการสตริง



บทที่6 คำสั่งควบคุมเงื่อนไขและการทำงานเป็นรอบ

สรุปบทที่ 6
เรื่อง  คำสั่งควบคุมเงื่อนไขและการทำงานเป็นรอบ

ประโยคเงื่อนไข if  มีรูปแบบการเขียนในลักษณะต่างๆดังนี้
1.การสร้างเงื่อนไขประโยคเดียว
2.การสร้างเงื่อนไข  if…else
3.การสร้างเงื่อนไข if…else แบบหลายกรณี
4.การสร้างเงือนไขแบบซ้อน (Netsted if)
นอกจาก if-else แล้ว ภาษาซียังมีคำสั่งควบคุมเงื่อนไขอีกตัวหนึ่งคือ switch….case
อย่างไรก็ตาม switch….case นำมาใช้งานได้ดีกับโปรแกรมที่มีรายการเมนูให้เลือกและไม่สามารถนำมาใช้ตรวจสอบเงื่อนไขที่ใช้ตัวแปร และเลขจำจวนจริงได้
ภาษาซี มีชุดคำสั่งทำงานเป็นรอบ ดังนี้
การทำงานเป็นรอบด้วยลูป while จะทำการตรวจสอบเงื่อนไขก่อนดำเนินการเสมอ ดังนั้น ชุดคำสั่งภายในลูปอาจมิได้ถูกประมวลผลเลยก็ได้ หากตรวจสอบเงื่อนไขครั้งแรกแล้วมีค่าเป็นเท็จ
การทำงานเป็นรอบด้วยลูป do-while จะกระทำชุดคำสั่งภายในลูปอย่างน้อยรอบหนึ่งเสมอ
การทำงานเป็นรอบด้วยลูป for เหมาะกับกรณีมีจำนวนรอบการทำงานที่แน่นอน
การใช้คำสั่ง
คำสั่ง Break สามารถนำมาใช้เพื่อสั่งให้หลุดออกจากลูปตามเงื่อนไขที่ได้กำหนดไว้

คำสั่ง continue นำไปใช้งานเพื่อสั่งให้วกกลับไปทำงานซ้ำที่ต้นลูป ดังนั้น ชุดคำสั่งที่อยู่ถัดจากคำสั่งcontinue จึงมิได้ถูกประมาณผล


รูปภาพที่เกี่ยวข้อง



วันจันทร์ที่ 26 ธันวาคม พ.ศ. 2559

บทที่ 5 ฟังก์ชันการรับและแสดงผล และฟังก์ชันทางคณิตศาสตร์

                                        สรุปบทที่ 5
ฟังก์ชั่นการรับและแสดงผลและฟังก์ชันทางคณิตศาสตร์
                  

คำสั่งในภาษาซี ล้วนอยู่ในรูปแบบของฟังก์ชัน ซึ่งอาจจะเป็นฟังก์ชันมาตรฐานที่ภาษาซีได้จัดเตรียมมาให้แล้ว (ประกาศใช้อยู่ในเฮดเดอร์ไฟล์ต่างๆ) นอกจากนี้ก็ยังมีฟังก์ชันที่เราสามารถเขียนขึ้นเพื่อใช้งานเอง
ตัวอย่างฟังก์ชันที่ภาษาซีจัดเตรียมไว้ให้ เช่น ฟังก์ชั่น printf() ที่นำมาใช้เพื่อสั่งพิมพ์ข้อมูล เพื่อแสดงออกทางจอภาพ หรือกรณีต้องการรับค่าข้อมูลทางแป้นพิมพ์ ก็จะต้องใช้ฟังก์ชัน scanf() เป็นต้น ทั้งนี้การเรียกใช้งานฟังก์ชันดังกล่าว จำเป็นต้องรู้ถึงรูปแบบการเขียน (Syntax) รวมถึงต้องรู้ด้วยว่าฟังก์ชันที่ใช้งานเหล่านี้ ประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์ใด







ฟังก์ชั่นการรับและแสดงผลข้อมูล
ในภาษาซี ได้เตรียมฟังก์ชั่นเพื่อการรับและแสดงผลข้อมูลอยู่หลายคำสั่งด้วยกัน ซึ่งสามารถนำมาเลืิอกใช้งานตามความเหมาะสม
                        
1. ฟังก์ชัน printf()
เป็นฟังก์ชันที่ใช้สำหรับแสดงผลข้อมูล ไม่ว่าจะเป็นข้อมูลที่เป็นตัวอักขระ ข้อความหรือตัวแปร
2. ฟังก์ชัน scanf()
เป็นฟังก์ชันที่ใช้สำหรับรับค่าข้อมูลจากทางแป้นพิมพ์เพื่อจัดเก็บไว้ในตัวแปร
3. ฟังก์ชัน getchar()
เป็นฟังก์ชันที่นำมาสำหรับรับค่าตัวอักษรหรืออักขระ 1 ตัว โดยค่าที่ป้อนลงไปจะแสดงให้เห็นทางจอภาพ และจะต้องเคาะ enter เพื่อแสดงถึงการสิ้นสุด
4. ฟังก์ชัน putcher()
เป็นฟังก์ที่นำมาใช้เพื่อสั่งพิมพ์ค่าตัวแปรอักขระที่ถูกป้อนด้วยฟังก์ชัน getcher() หรือนำมาพิมพ์รหัสพิเศษได้
5. ฟังก์ชัน getch และ getch
ภาษาซีมีฟังก์ชันที่นำมาใช้เพื่อการรับค่าตัวอักขระอย่างฟังก์ชัน getch() และ getch() แต่ฟังก์ชันทั้งสองถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์
ฟังก์ชันจัดการจอภาพ
สำหรับฟังก์ชันเพื่อจัดการจอภาพ ในที่นี้กล่าวถึงฟังก์ชันที่ใช่สำหรับการล้างหน้าจอ

                          

1. ฟังก์ชัน clrscr()
เป็นฟังก์ชันที่ใช้สำหรับล้างจอภาพ โดยจะล้างข้อความเดิมบนจอภาพออกทั้งหมด
ฟังก์ชันทางคณิตศาสตร์
ในบทที่ผ่านมา ได้เรียนรู้เกี่นวกัยตัวดำเนินการทางคณิตศาสตร์ ซึ่งประกอบด้วยเครื่องหมาย *, /, +, - และ % สิ่งเหล่านี้เป็นเพียงพื้นฐานเท่านั้น
ในภาษาซี ตัวดำเนินการทางคณิตศาสตร์ดังกล่าว จะถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์ชื่อ <math.h> โดยเฉพาะเครื่องหมายยกำลัง ซึ่งในภาษาในระดับสูงทั่วไป มักจะใช้เครื่องหมาย ^ หรือ **แต่ภาษาซีจะใช้ฟังก์ชัน poe() แทน

                            

บทที่ 4 นิพจน์และตัวดำเนินการ

สรุปบทที่4
         เรื่อง นิพจน์และตัวดำเนินการ
นิพจน์ประกอบด้วย ตัวแปร ค่าคงที่ และตัวดำเนินการเดินทางคณิตศาสตร์มาประกอบรวมกัน
ตัวดำเนินการพื้นฐานในภาษซีประกอบด้วย
1. ตัวดำเนินการคณิตศาสตร์
จัดเป็นตัวดำเนินการพื้นฐาน ที่นำมาใช้เพื่อกำหนดการคำนวณ เช่น บวก ลบ คูณ หาร และโมดูลัส
  2.ตัวดำเนินการยูนารี
ตัวดำเนินการยูนารี ตัวแรกที่กล่าวถึงคือ เครื่องหมายลบที่นำมาใช้นำหน้าค่าตัวเลข
   3.ตัวดำเนินการเปรียบเทียบ
ในภาษาซี จะมีตัวดำเนินการที่นำมาใช้เพื่อการเปรียบเทียบค่า
4.ตัวดำเนินการตรรกะ
นอกจากต้วดำเนินการเปรียบเทียบแล้ว เรายังสามารถนำตัวดำเนินการตรรกะมาใช้ร่วมกันได้
5.ตัวดำเนินการกำหนดค่าแบบผสม
จากความรู้ที่ผ่านมา ได้เรียนรู้ถึงการกำหนดค่าให้กับตัวแรมาบ้างแล้ว แต่ในภาษาซี  ยังมีตัวดำเนินการกำหนค่าแบบผสมอีก
6ตัวดำเนินการเงื่อนไข
ตัวดำเนินการเงื่อนไข จะนำมาใช้เพื่อทดสอบค่านิพจน์ทางตรรกะว่าจริงหรือเท็จ
        ตัวดำเนินการแต่ละตัว จะถูกจัดลำดับความสำคัญก่อนหลังที่แตกต่างกัน โดยการคำนวณจะกระทำกับตัวดำเนินการที่มีลำดับความสำคัญสูงก่อนเสมอ
        กรณีลำดับความสำคัญของตัวดำเนินการเท่ากัน โดยปกติการประมวลผลจะกระทำกับตัวดำเนินการจากซ้ายไปขวา ซึ่งหมายถึงจะกระทำกับตัวดำเนินการพบก่อนนั่นเอง
        ตัวดำเนินการที่เรียกว่า การแคสต์ (Casting) นำมาใช้เพื่อแปลงชนิดข้อมูลจากชนิดหนึ่ง มาเป็นอีกชนิดหนึ่งโดยให้ระบุชนิดข้อมูลที่ต้องการภายในเครื่องหมายวงเล็บหน้านิพจน์ที่ต้องการ

บทที่ 3 องค์ประกอบของภาษาซี ตัวแปร และชนิดข้อมูล

                สรุปบทที่ 3

เรื่อง  องค์ประกอบของภาษาซี ตัวแปร และชนิดข้อมูล
        ภาษาชีถูกพัฒนาขึ้นโดย เดนนิส ริตชี ที่ห้องปฏิบัติการเบลล์ ซึ่งมีต้นแบบมาจากภาษาบีที่อยู่บนรากฐานของภาษาบีซีพีแอล
         ทางสถาบัน ANSI ได้รับรองมาตรฐานภาษาซีขึ้นมา ภายใต้ชื่อ ANSI-C
 ปัจจุบันได้มีการพัฒนาภาษาซีให้มีประสิทธิภาพมากขึ้นเป็นเวอร์ชั่นต่างๆ มากมายด้วยการนำมาพัฒนาต่อยอดเป็น C++ หรือ C# โดยได้เพิ่มชุดคำสั่งที่สนับสนุนการโปรแกรมเชิงวัตถุ และยังคงรองรับชุดคำสั่งมาตรฐานของภาษาซีดั้งเดิมอยู่ด้วย
ภาษาซีมีคุณสมบัติที่โดดเด่นกว่าภาษาระดับสูงทั่วไปในหลายๆ ด้านด้วยกัน  คือ
1.      เป็นภาษาที่ไม่ขึ้นกับฮาร์ดแวร์และระบบปฏิบัติการ                   
    2.เป็นภาษาที่มีความยืดหยุ่นสูงมาก
    3. มีประสิทธิภาพสูง
    4. ความสามารถในด้านการโปรแกรมแบบโมดูล
    5. มีตัวแปรชนิดพอยน์เตอร์
    6. ภาษาซีมองตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แตกต่างกัน ( Case Sensitive )
     โครงสร้างโปรแกรมในภาษาซี แบ่งออกเป็นส่วนต่างๆ ดังนี้
    1ตัวประมวลผลก่อน ( Preprocessor Directive )
    2. ฟังก์ชันหลัก
    3. ชุดคำสั่ง
    4คำอธิบายโปรแกรม                                  



                ผลการค้นหารูปภาพสำหรับ โครงสร้างภาษาซี   





   
       


   


  กฎเกณฑ์ที่ต้องรู้ในการเริ่มต้นฝึกหัดเขียนโปรแกรมภาษาซี คือ
1.      ที่ส่วนหัวโปรแกรม จะต้องกำหนดตัวประมวลผลก่อนเสมอ
   2. ชุดคำสั่งในภาษาซี จะใช้อักษรตัวพิมพ์เล็กทั้งหมด
   3ตัวแปรที่ใช้งาน ต้องถูกประกาศชนิดข้อมูลไว้เสมอ
   4.ภายในโปรแกรม จะต้องมีอย่างน้อย 1 ฟังก์ชันเสมอ ซึ่งก็คือฟังก์ชัน  main() นั่นเอง
   5สามารถใช้เครื่องหมายปีกกา {  เพื่อบอกจุดเริ่มต้นของชุดคำสั่ง และเครื่องหมายปีกกาปิด}
   6เมื่อเขียนชุดคำสั่งเสร็จแล้วต้องจบด้วยเครื่องหมาย  ;
   7สามารถอธิบายโปรแกรมตามความจำเป็นด้วยการใช้เครื่องหมาย/*…..*/หรือ //….
       ตัวแปร คือ ชื่อที่ตั้งขึ้นตามกฎการตั้งชื่อตัวแปร เพื่อนำมาใช้จัดเก็บข้อมูล และอ้างอิงใช้งานภายในโปรแกรม

   กฎเกณฑ์การตั้งตัวแปรในภาษาซี ประกอบด้วย
1.      สามรถใช้ตัวอักษร A ถึง Z หรือ a ถึง z รวมทั้งตัวเลข 0 ถึง 9 และเครื่องหมาย _( Underscore ) มาใช้เพื่อการตั้งชื่อตัวแปรได้ แต่มีเงื่อนไขว่า ห้ามใช้ตัวเลขนำหน้า 
2.      ชื่อตัวแปร ตัวอย่างเช่น 1digit ถือว่าผิด แต่ถ้าตั้งชื่อใหม่เป็น digit1 หรือ digit_1 ถือว่าถูกต้อง
    2ชื่อตัวแปรสามารถมีความยาวได้ถึง 31 ตัวอักษร (กรณีเป็น ANSI-C )
    3ชื่อตัวแปร จะต้องไม่ตรงกับคำสงวน ( RESERVEDWords )



     ชนิดข้อมูลตัวอักษร เป็นชนิดข้อมูลที่จัดเก็บตัวอักษรหรือตัวอักขระเพียง 1 ตัวเท่านั้นกรณีที่ต้องการจัดเก็บตัวอักขระหลายๆ ตัว เราจะเรียกกลุ่มข้อความนี้ว่า สตริง (String )      
     ชนิดข้อมูลแบบเลขจำนวนเต็ม หมายถึงค่าตัวเลขจำนวนเต็ม ไม่มีทศนิยม ซึ่งประกอบด้วย int และ long int แบบไม่มีทศนิยม นอกจากนี้ยังสามารถใช้คำเพิ่มเติมนำหน้าชนิดข้อมูลอย่าง short หรือ long ก็ได้
     ชนิดข้อมูลแบบทศนิยม หรือเลขจำนวนจริง คือ ค่าตัวเลขที่สามารถมีจุดทศนิยม โดยชนิดข้อมูลนี้สามารถกำหนดขนาดความกว้างตามความต้องการ เช่น float, double หรือ long double
     ตัวแปรแบบภายใน  จะถูกประกาศใช้งานเฉพาะฟังก์ชันนั้นๆ ดังนั้น หากตัวแปรแบบภายในของและฟังก์ชัน มีการกำหนดชื่อตัวแปรเหมือนกัน จะถือว่าเป็นตัวแปรคนละตัว

   ตัวแปรแบบภายนอก  ถือเป็นตัวแปรสาธารณะที่ทุกๆ โปรแกรมย่อยหรือทุกๆ ฟังก์ชันสามารถใช้งานได้ โดยจะถูกประกาศไว้ภายนอกฟังก์ชัน