โครงสร้างของภาษา C 
ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการ พัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 5 ส่วนหลัก ๆ โดยที่แต่ละส่วนมี หน้าที่แตกต่างกัน ดังนี้ 1 
พรีโปรเซสเซอร์ไดเรกทีฟ (Preprocessor directive) 
2 
ส่วนประกาศ (Global declarations) 
3 
ส่วนฟังก์ชันหลัก (main () function) 
4 
ส่วนกาหนดฟังก์ชันขึ้นใช้เอง (Uses –define functions) 
5 
ส่วนอธิบายโปรแกรม (Program comment)
1. พรีโปรเซสเซอร์ไดเรกทีฟ (Preprocessor directive) อาจเรียกอีกชื่อหนึ่งว่าส่วนหัวโปรแกรม (Header Part) ส่วนนี้ทุกโปรแกรมจะต้องมี จะขึ้นต้นด้วยเครื่องหมาย # เสมอ การ ทางานของคอมไพเลอร์จะทางานในส่วนนี้เป็นส่วนแรก จะเป็นส่วนที่ เก็บไลบราลีมาตรฐานของภาษา C ซึ่งจะถูกดึงเข้ามารวมกับ โปรแกรมในขณะแปลภาษาโปรแกรม (Compile) โดยใช้คาสั่ง #Include ซึ่งสามารถเขียนได้ 2 รูปแบบ คือ 
•รูปแบบที่ 1 #include<HeaderName> 
•รูปแบบที่ 2 #include“HeaderName” 
โครงสร้างของภาษา C
แบบที่ใช้เครื่องหมาย <…> คอมไพเลอร์จะค้นหาเฮดเดอร์ จากไลบราลีของภาษา C เพียงที่เดียวเท่านั้น ส่วนที่ใช้ เครื่องหมาย “…” คอมไพเลอร์จะค้นหาเฮดเดอร์จากไลบราลีที่ เก็บ Source Code ของเราก่อน ถ้าหากไม่เจอก็จะไปค้นหาที่ไล บราลีของภาษา C และเฮดเดอร์ไฟล์นี้จะมีนามสกุลเป็น .h เท่านั้น 
ในการเขียนโปรแกรมภาษา C เฮดเดอร์ไฟล์ที่เก็บไลบราลี มาตรฐานในการจัดการเกี่ยวกับอินพุต และเอาต์พุตของ โปรแกรมก็คือ stdio.h ซึ่งถือว่าเป็นส่วนสาคัญที่ขาดไม่ได้ 
โครงสร้างของภาษา C
2. ส่วนประกาศ (Global declarations) ส่วนนี้จะใช้ในการ ประกาศตัวแปรหรือฟังก์ชันที่ต้องใช้ในโปรแกรม โดยทุก ๆ ส่วนของโปรแกรมสามารถจะเรียกใช้ข้อมูลที่ประกาศไว้ในส่วน นี้ได้ ซึ่งส่วนนี้จะมีหรือไม่มีก็ได้
3. ส่วนของฟังก์ชันหลัก (main() function) ส่วนนี้ทุกโปรแกรม จะต้องมี ซึ่งจะประกอบไปด้วยประโยคคาสั่งต่าง ๆ ที่จะให้ โปรแกรมทางาน โดยนาคาสั่งต่าง ๆ มาเรียงต่อกัน และแต่ละ ประโยคคาสั่งจะจบด้วยเครื่องหมายเซมิโคลอน (;) โดยใน ขอบเขตของฟังก์ชันจะเริ่มต้นด้วยเครื่องหมาย { และสิ้นสุดด้วย เครื่องหมาย }
4. ส่วนกาหนดฟังก์ชันขึ้นใช้เอง (Uses –define functions) เป็นการเขียนคาสั่งและฟังก์ชันต่าง ๆ ขึ้นใช้ในโปรแกรม โดย ต้องอยู่ในเครื่องหมาย { } และต้องสร้างฟังก์ชันหรือคาใหม่ที่ให้ ทางานตามที่เราต้องการให้กับโปรแกรมและสามารถเรียกใช้ได้ ภายในโปรแกรม
ตัวอย่างการกาหนดฟังก์ชันขึ้นใช้เอง 
#include<stdio.h> 
main() 
{ 
function();/*เรียกใช้ฟังก์ชันที่สร้างขึ้น*/ 
} 
function()/*สร้างฟังก์ชันใหม่ โดยใช้ชื่อว่า function*/ 
{ 
return;/*คืนค่าที่เกิดจากการทาฟังก์ชัน*/ 
}
5. ส่วนอธิบายโปรแกรม (Program comment) ส่วนนี้ใช้เขียน คอมเมนต์ในโปรแกรม เพื่ออธิบายการทางานต่าง ๆ ทาให้ผู้ ศึกษาโปรแกรมในภายหลังทาความเข้าใจโปรแกรมได้ง่ายขึ้น เมื่อคอมไพล์โปรแกรมส่วนนี้จะถูกข้ามไป 
คอมเมนต์ในภาษาซีมี 2 แบบ คือ 
1. คอมเมนต์แบบบรรทัดเดียวใช้เครื่องหมาย // 
2. คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
ตัวอย่างการเขียนคอมเมนต์ในโปรแกรมภาษาซี 
1//comment only one line 
2 
3#include <stdio.h> 
4 
5int main () 
6{ 
7/*Comment 
8many 
9line*/ 
10}
ตัวอย่างการเขียนโปรแกรมขั้นต้น 
#include<stdio.h> 
main () 
{ 
} 
ส่วนหัว 
ส่วนฟังก์ชันหลัก
จากตัวอย่างโปรแกรมอย่างง่ายจะประกอบด้วยสองส่วนคือ 
1. ส่วนที่หนึ่งเป็นส่วนหัวหรือส่วนเรียกโมดูลอื่น ๆ เข้ามาแปลความหมาย โดยเป็นส่วนของพรีโปรเซสเซอร์ไดเร็กทีฟ (Preprocessor Directive) ซึ่งอาจ เป็นโมดูลมาตรฐานที่มีอยู่แล้วในโปรแกรมหรือโมดูลใหม่ที่สร้างขึ้นมาเองก็ได้ โดยโมดูลเหล่านี้จะบรรจุคาสั่งหรือข้อกาหนดต่าง ๆ ที่จะใช้ในโปรแกรมที่เขียน ขึ้น 
2. ส่วนที่สอง เรียกว่าส่วนฟังก์ชันหลัก ซึ่งเป็นส่วนคาสั่งหรือสเตตเมนต์ (Statement) จะเป็นส่วนที่เก็บคาสั่งต่าง ๆ ที่จะให้โปรแกรมทางาน โดยจะ เริ่มต้นด้วยเครื่องหมายปีกกาเปิด { และจบด้วยเครื่องหมายปีกกาปิด } ส่วนนี้ จะมีมากกว่าหนึ่งฟังก์ชันก็ได้ แต่ทุกโปรแกรมจะต้องมีฟังก์ชัน main ซึ่งถือว่า เป็นฟังก์ชันหลักที่โปรแกรมจะทางานได้
โดยที่ 
structNameเป็นชื่อสตรัคเจอร์ที่ส่งค่าข้อมูลกลับไปให้ฟังก์ชัน 
functionName เป็นชื่อฟังก์ชัน 
statements เป็นชุดคาสั่งภายในฟังก์ชัน 
varstructName เป็นชื่อตัวแปรสตรัคเจอร์ที่ต้องการส่งกลับ
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

3.1 โครงสร้างของภาษาซี

  • 2.
    โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษาC ทุกโปรแกรมจะมีโครงสร้างการ พัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 5 ส่วนหลัก ๆ โดยที่แต่ละส่วนมี หน้าที่แตกต่างกัน ดังนี้ 1 พรีโปรเซสเซอร์ไดเรกทีฟ (Preprocessor directive) 2 ส่วนประกาศ (Global declarations) 3 ส่วนฟังก์ชันหลัก (main () function) 4 ส่วนกาหนดฟังก์ชันขึ้นใช้เอง (Uses –define functions) 5 ส่วนอธิบายโปรแกรม (Program comment)
  • 3.
    1. พรีโปรเซสเซอร์ไดเรกทีฟ (Preprocessordirective) อาจเรียกอีกชื่อหนึ่งว่าส่วนหัวโปรแกรม (Header Part) ส่วนนี้ทุกโปรแกรมจะต้องมี จะขึ้นต้นด้วยเครื่องหมาย # เสมอ การ ทางานของคอมไพเลอร์จะทางานในส่วนนี้เป็นส่วนแรก จะเป็นส่วนที่ เก็บไลบราลีมาตรฐานของภาษา C ซึ่งจะถูกดึงเข้ามารวมกับ โปรแกรมในขณะแปลภาษาโปรแกรม (Compile) โดยใช้คาสั่ง #Include ซึ่งสามารถเขียนได้ 2 รูปแบบ คือ •รูปแบบที่ 1 #include<HeaderName> •รูปแบบที่ 2 #include“HeaderName” โครงสร้างของภาษา C
  • 4.
    แบบที่ใช้เครื่องหมาย <…> คอมไพเลอร์จะค้นหาเฮดเดอร์จากไลบราลีของภาษา C เพียงที่เดียวเท่านั้น ส่วนที่ใช้ เครื่องหมาย “…” คอมไพเลอร์จะค้นหาเฮดเดอร์จากไลบราลีที่ เก็บ Source Code ของเราก่อน ถ้าหากไม่เจอก็จะไปค้นหาที่ไล บราลีของภาษา C และเฮดเดอร์ไฟล์นี้จะมีนามสกุลเป็น .h เท่านั้น ในการเขียนโปรแกรมภาษา C เฮดเดอร์ไฟล์ที่เก็บไลบราลี มาตรฐานในการจัดการเกี่ยวกับอินพุต และเอาต์พุตของ โปรแกรมก็คือ stdio.h ซึ่งถือว่าเป็นส่วนสาคัญที่ขาดไม่ได้ โครงสร้างของภาษา C
  • 5.
    2. ส่วนประกาศ (Globaldeclarations) ส่วนนี้จะใช้ในการ ประกาศตัวแปรหรือฟังก์ชันที่ต้องใช้ในโปรแกรม โดยทุก ๆ ส่วนของโปรแกรมสามารถจะเรียกใช้ข้อมูลที่ประกาศไว้ในส่วน นี้ได้ ซึ่งส่วนนี้จะมีหรือไม่มีก็ได้
  • 6.
    3. ส่วนของฟังก์ชันหลัก (main()function) ส่วนนี้ทุกโปรแกรม จะต้องมี ซึ่งจะประกอบไปด้วยประโยคคาสั่งต่าง ๆ ที่จะให้ โปรแกรมทางาน โดยนาคาสั่งต่าง ๆ มาเรียงต่อกัน และแต่ละ ประโยคคาสั่งจะจบด้วยเครื่องหมายเซมิโคลอน (;) โดยใน ขอบเขตของฟังก์ชันจะเริ่มต้นด้วยเครื่องหมาย { และสิ้นสุดด้วย เครื่องหมาย }
  • 7.
    4. ส่วนกาหนดฟังก์ชันขึ้นใช้เอง (Uses–define functions) เป็นการเขียนคาสั่งและฟังก์ชันต่าง ๆ ขึ้นใช้ในโปรแกรม โดย ต้องอยู่ในเครื่องหมาย { } และต้องสร้างฟังก์ชันหรือคาใหม่ที่ให้ ทางานตามที่เราต้องการให้กับโปรแกรมและสามารถเรียกใช้ได้ ภายในโปรแกรม
  • 8.
    ตัวอย่างการกาหนดฟังก์ชันขึ้นใช้เอง #include<stdio.h> main() { function();/*เรียกใช้ฟังก์ชันที่สร้างขึ้น*/ } function()/*สร้างฟังก์ชันใหม่ โดยใช้ชื่อว่า function*/ { return;/*คืนค่าที่เกิดจากการทาฟังก์ชัน*/ }
  • 9.
    5. ส่วนอธิบายโปรแกรม (Programcomment) ส่วนนี้ใช้เขียน คอมเมนต์ในโปรแกรม เพื่ออธิบายการทางานต่าง ๆ ทาให้ผู้ ศึกษาโปรแกรมในภายหลังทาความเข้าใจโปรแกรมได้ง่ายขึ้น เมื่อคอมไพล์โปรแกรมส่วนนี้จะถูกข้ามไป คอมเมนต์ในภาษาซีมี 2 แบบ คือ 1. คอมเมนต์แบบบรรทัดเดียวใช้เครื่องหมาย // 2. คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
  • 10.
  • 11.
    ตัวอย่างการเขียนโปรแกรมขั้นต้น #include<stdio.h> main() { } ส่วนหัว ส่วนฟังก์ชันหลัก
  • 12.
    จากตัวอย่างโปรแกรมอย่างง่ายจะประกอบด้วยสองส่วนคือ 1. ส่วนที่หนึ่งเป็นส่วนหัวหรือส่วนเรียกโมดูลอื่นๆ เข้ามาแปลความหมาย โดยเป็นส่วนของพรีโปรเซสเซอร์ไดเร็กทีฟ (Preprocessor Directive) ซึ่งอาจ เป็นโมดูลมาตรฐานที่มีอยู่แล้วในโปรแกรมหรือโมดูลใหม่ที่สร้างขึ้นมาเองก็ได้ โดยโมดูลเหล่านี้จะบรรจุคาสั่งหรือข้อกาหนดต่าง ๆ ที่จะใช้ในโปรแกรมที่เขียน ขึ้น 2. ส่วนที่สอง เรียกว่าส่วนฟังก์ชันหลัก ซึ่งเป็นส่วนคาสั่งหรือสเตตเมนต์ (Statement) จะเป็นส่วนที่เก็บคาสั่งต่าง ๆ ที่จะให้โปรแกรมทางาน โดยจะ เริ่มต้นด้วยเครื่องหมายปีกกาเปิด { และจบด้วยเครื่องหมายปีกกาปิด } ส่วนนี้ จะมีมากกว่าหนึ่งฟังก์ชันก็ได้ แต่ทุกโปรแกรมจะต้องมีฟังก์ชัน main ซึ่งถือว่า เป็นฟังก์ชันหลักที่โปรแกรมจะทางานได้
  • 13.
    โดยที่ structNameเป็นชื่อสตรัคเจอร์ที่ส่งค่าข้อมูลกลับไปให้ฟังก์ชัน functionNameเป็นชื่อฟังก์ชัน statements เป็นชุดคาสั่งภายในฟังก์ชัน varstructName เป็นชื่อตัวแปรสตรัคเจอร์ที่ต้องการส่งกลับ
  • 14.
    ที่มา : คู่มืออบรมครูวิทยาศาสตร์คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER