SUTIPONG
0101001101010101010101000100100101010000010011110100111001000111
DISAYANUN
010001000100100101010011010000010101100101000001010011100101010101001110
วันพุธที่ 24 มิถุนายน พ.ศ. 2552
บ้านเฮ้าน่าอยู่
#include
#include
main()
{
clrscr();
printf(" **************************************** \n");
printf(" * * *\n");
printf(" * * * *\n");
printf(" **********************************************\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" * __ * * __ *\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" ***********************************************\n");
printf("");
printf("");
getch();
return 0;}
ไอที่ไม่ตรงมะรู้เป็นอารายลองเอาไป Compile ในโปรแกรมภาษา C ดูครับ
#include
main()
{
clrscr();
printf(" **************************************** \n");
printf(" * * *\n");
printf(" * * * *\n");
printf(" **********************************************\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" * __ * * __ *\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" ***********************************************\n");
printf("");
printf("");
getch();
return 0;}
ไอที่ไม่ตรงมะรู้เป็นอารายลองเอาไป Compile ในโปรแกรมภาษา C ดูครับ
วันพุธที่ 3 มิถุนายน พ.ศ. 2552
Code โปรแกรมแสดงชื่อ
#include#include
main()
{
clrscr();
cout<<" My Name is Sutipong Disananun\n";
cout<<"Addes 27/1 M.8 T.paktho A.paktok J.Rachbure\n";
getch();
return 0;}
main()
{
clrscr();
cout<<" My Name is Sutipong Disananun\n";
cout<<"Addes 27/1 M.8 T.paktho A.paktok J.Rachbure\n";
getch();
return 0;}
ภาษา C
จุดเริ่มต้นของภาษาซี
ภาษาซีเกิดขึ้นในปี ค.ศ.1972 โดย Dennis Ritchie แห่ง Bell Labs โดยภาษาซีนั้นพัฒนามาจาก ภาษา B และจากภาษา BCPL ซึ่งในช่วงแรกนั้นภาษาซีถูกออกแบบให้ใช้เป็นภาษาการเขียนโปรแกรมในระบบ UNIX และเริ่มมีคนสนใจมากขึ้นในปี ค.ศ.1978 เมื่อ Brain Kernighan ร่วมกับ Dennis Ritchie พัฒนามาตรฐานของภาษาซีขึ้นมา คือ K&R (Kernighan & Ritchie) และทั้งสองยังได้แต่งหนังสือชื่อว่า "The C Programming Language" โดยภาษาซีนั้นสามารถจะปรับใช้กับเครื่องคอมพิวเตอร์รูปแบบต่างๆได้ ต่อมาในช่วง ปี ค.ศ.1988 Ritchie และ Kernighan ได้ร่วมกับ ANSI (American National Standards Institute) สร้างเป็นมาตรฐานของภาษาซีขึ้นมาใหม่มีชื่อว่า "ANSI C"Dennis Ritchieภาษาซีนั้นจัดเป็นภาษาที่ใช้ในการเขียนโปรแกรมที่นิยมใช้งาน ซึ่งภาษาซีจัดเป็นภาษาระดับกลาง (Middle-Level Language) เหมาะกับการเขียนโปรแกรมแบบโครงสร้าง (Structured Programming) โดยมีคุณสมบัติโดดเด่นอย่างหนึ่งคือ มีความยืดหยุ่นมาก กล่าวคือ สามารถทำงานกับเครื่องมือต่างๆ สามารถปรับเปลี่ยนการเขียนโปรแกรมในรูปแบบต่างๆได้ เช่น สามารถเขียนโปรแกรมที่มีความยาวหลายบรรทัดให้เหลือความยาว 2-3 บรรทัดได้ โดยมีการผลการทำงานที่เหมือนเดิมครับเหตุผลที่ควรเรียนภาษาซีก็เนื่องจากภาษาซีเป็นภาษาแบบโครงสร้างที่สามารถศึกษาและทำความเข้าใจได้ไม่ยาก อีกทั้งยังสามารถเป็นพื้นฐานในการเขียนโปรแกรมภาษาอื่นๆ ได้อีก เช่น C++, Perl, JAVA เป็นต้นจาก C สู่ C++ถูกพัฒนาโดย Bjarne Stroustrup แห่ง Bell Labs โดยได้นำเอาภาษา C มาพัฒนาและใส่แนวคิดการเขียนโปรแกรมเชิงวัตถุ หรือ OOP (Object Oriented Programming) เข้าไปด้วย ซึ่งเป็นที่มาของ C++ ก็คือ นำภาษา C มาพัฒนาปรับปรุงให้มีประสิทธิภาพมากขึ้นBjarne Stroustrupจำเป็นไหม? ที่ต้องเรียนภาษา C ก่อน เรียน C++ เลยไม่ได้เหรอ? คำตอบก็คือ คุณจะเรียน C++ เลยก็ได้ครับ โดยไม่ต้องศึกษาภาษา C มาก่อน แต่ถ้าคุณเข้าใจหลักการทำงาน และการเขียนโปรแกรมภาษา C แล้วจะสามารถต่อยอด C++ ได้เร็วกว่า อีกทั้งยังสามารถเข้าใจแนวคิดการเขียนโปรแกรมภาษาอื่นๆ ได้อีก ซึ่งในบทความในช่วงแรกผมจะนำเสนอหลักและแนวคิดในการเขียนโปรแกรมภาษา C ก่อนนะครับ เพื่อให้ผู้อ่านได้เข้าใจในพื้นฐานก่อนนะครับต่อไปจะขอเกริ่นถึงการเขียนโปรแกรมแบบโครงสร้างสักเล็กน้อยก่อนนะครับ แล้วก็จะเริ่มเข้ากระบวนการการเขียนโปรแกรมกันลักษณะโปรแกรมแบบโครงสร้างการเขียนโปรแกรมแบบโครงสร้าง (Structured Programming) ก็คือ การนำโครงสร้างของคำสั่งหลายๆ รูปแบบ นำมาใช้ในโปรแกรม โดยจะมีการใช้คำสั่งลักษณะ goto ให้น้อยที่สุด ตัวอย่างการเขียนโปรแกรมแบบโครงสร้าง ก็มี ภาษา C, Pascal และ Cobol เป็นต้นครับ ผมจะยกตัวอย่างในภาษา C ในรูปแบบการเขียนโปรแกรมแบบโครงสร้างให้ดูดังด้านล่างนะครับภาพ: โปรแกรมที่เขียนด้วยภาษาซีแบบง่ายๆ แสดงถึงโครงสร้างจากโปรแกรมข้างต้นนะครับ สามารถแบ่งโครงสร้างตามลักษณะหน้าที่การทำงานได้ 3 ส่วนหลักๆ นะครับ ก็คือส่วนที่ 1 ประกาศค่าตัวแปร และ การกำหนดค่าให้กับตัวแปร (Declare)ส่วนที่ 2 เพิ่มค่า และเก็บค่าไว้ในตัวแปร (Calculation)ส่วนที่ 3 แสดงผลทางจอภาพ (Display)
จุดเด่นของภาษาซี
1. เป็นภาษาที่เข้าใจง่าย มีลักษณะเป็นโครงสร้าง ท่านอ่านคำสั่งต่างๆแล้ว ทำความเข้าใจไม่ยากเลยสามารถควบคุมฮาร์ดแวร์ได้อย่างไม่มีสิ่งใดมาขวางกั้น โปรแกรมทำงานได้อย่างรวดเร็ว ใช้งานได้หลากหลาย ยืดหยุ่น สามารถเขียนแยกเป็นโมดูล (เป็นโปรแกรมย่อยๆ) ได้
2. เป็นรากฐานเพื่อไปศึกษาภาษาอื่นได้อีก ไม่ว่าจะเป็น Java Perl PHP C# ล้วนแต่ถูกสร้างมาจากภาษาซี เพราะภาษาซีนั้นเป็นภาษาที่ถูกสร้างขึ้นมานานมากแล้ว และถูกนำมาใช้กันทั่วโลก และหากท่านจะสร้างภาษาโปรแกรมขึ้นมาสักภาษาหนึ่ง หากท่านอยากจะให้มันเข้าใจง่าย และใช้กันแพร่หลาย ท่านจะคิดคำสั่งเอง หรือท่านจะเอาคำสั่งที่โปรแกรมเมอร์ทั่วโลกเขาเข้าใจอยู่แล้วมาใช้ล่ะครับ แน่นอน ก็ต้องอย่างหลังอยู่แล้ว ทำให้ภาษาโปรแกรมหลายๆตัวที่นิยม ล้วนสร้างขึ้นมาจากภาษาซี หากท่านศึกษาภาษาซีก่อน เมื่อท่านไปศึกษาภาษาอื่น ท่านจะข้ามพื้นฐานไปได้เลย ทำให้การศึกษาภาษาอื่น เป็นไปด้วยความรวดเร็ว
3. เป็นภาษาที่ทำงานเร็ว คล่องตัว เพราะการเรียนภาษาซีนั้น ทำกันบนบรรทัดคำสั่ง เพื่อสั่งให้ทำงานบนหน้าจอโดยตรง หรือจะสั่งเครื่องพิมพ์ก็ย่อมได้ ภาษาโปรแกรมใหม่ๆ มักจะมีตัวแปลภาษาและอีดิตเตอร์เป็นแบบ IDE ไม่ทันไรผู้เรียนก็สามารถสร้างหน้าจอ GUI (กราฟิกยูเซอร์อินเตอร์เฟช) ได้แล้ว แต่มันเป็นง่ายไปครับ การข้ามขั้นพื้นฐานไป ทำให้ความรู้ท่านไม่แน่นพอ หากท่านเรียนภาษาซีท่านจะได้เริ่มตั้งแต่รันบนดอสกันไปเลย ทำให้ท่านเข้าใจพื้นฐานของโปรแกรมต่างๆ เมื่อพื้นฐานท่านแน่น อีกหน่อยจะไปพัฒนาระบบใหญ่ๆ หรือเขียนโปรแกรมเชิงวัตถุก็สบาย
4. มีพอยเตอร์ให้เราได้ศึกษาในเรื่องของหน่วยความจำ ภาษาซีจะสามารถเข้าจัดการหน่วยความจำได้ ไม่ว่าจะเป็นการจัดสรร เพิ่มลดข้อมูลในหน่วยความจำ ก็ย่อมได้ เพราะอย่างที่ได้กล่าวไว้ว่า ภาษาซีสามารถควบคุมฮาร์ดแวร์ได้ การจะจัดการกับหน่วยความจำก็ไม่ใช่ปัญหาเลย ท่านสามารถจัดสรรทรัพยากรให้เหมาะสมกับการทำงานของท่านได้ เช่น หากโปรแกรมอยู่เฉยๆก็ไม่ต้องให้โปรแกรมกินหน่วยความจำ เมื่อมันเริ่มทำงานเมื่อไหร่ก็ให้เริ่มกินหรือจองหน่วยความจำ ทำให้โปรแกรมของท่านมีความยืดหยุ่น พลิกแพลงได้ เรื่องพอยเตอร์นี่แหละครับ จุดเด่นของภาษาซี
5. มีชุดพัฒนาอยู่มากมาย เพื่อใช้ในงานเฉพาะทาง ไม่ว่าจะเป็นการจัดการกับรูปภาพ ด้วยชุดพัฒนา Images Processing การพัฒนาโปรแกรมบนวินโดวส์ด้วย MFC หรือ Visual C++ และอีกมากมาย หากท่านมีพื้นฐานดีแล้ว ท่านสามารถศึกษาชุดพัฒนาเหล่านี้ได้ไม่ยาก และที่สำคัญสามารถหาชุดพัฒนาที่ถูกสร้างจากภาษาซีได้ทั่วโลก
6. ภาษาซีนั้นมีมาตรฐานเดียวกันทั่วโลก นั่นหมายความว่า ท่านศึกษาครั้งเดียว ท่านเขียนได้ทั้งบน วินโดวส์และยูนิกซ์หรือลีนุกซ์ ซึ่งทำให้ท่านสามารถพัฒนาโปรแกรมในระบบปฏิบัติการหลายๆแบบได้ ไม่ต้องศึกษาภาษาใหม่เลย อาจจะศึกษาลักษณะที่ต่างกัน ก็เพียงเล็กน้อย นอกนั้นก็คล้ายกันเลยทีเดียว
7. หลายๆสถาบันมักจะให้เรียนภาษาซีเป็นภาษาแรก เพื่อเป็นพื้นฐานไปสู่การเขียนโปรแกรมเชิงวัตถุ เช่น C++ , Java ท่านยังสามารถศึกษาไปในด้านของวิชาโครงสร้างข้อมูลได้ ซึ่งใช้ในการจัดสรรทรัพยากรหน่วยความจำ การจัดเก็บข้อมูล การเรียงลำดับ การค้นหา และเป็นพื้นฐานของอีกหลายๆวิชา
จุดด้อยของภาษา C
อีกปัญหาหนึ่ง ก็คือตัวของภาษา C ไม่มีตัวจัดการจองหน่วยความจำในตัวเอง เมื่อเวลาเราต้องการจองหน่วยความจำแบบ Dynamic ภาษา C ทำ wrapper เพื่อติดต่อกับ OS เพื่อขอจองหน่วยความจำโดยตรง ปัญหาก็คือ การติดต่อกันระหว่างโปรแกรมของเรากับ OS เป็นไปอย่างหลวมๆ ถ้าโปรแกรมลืมบอก OS ว่า เลิกจองหน่วยความจำดังกล่าว หน่วยความจำนั้นก็จะถูกจองไปเรื่อยๆ เราจะเห็นเครื่องคอมพิวเตอร์ทำงานได้เร็วในตอนเช้า แต่พอตกบ่ายก็ช้าลงจนทำงานไม่ไหว จนสุดท้ายต้อง boot ใหม่ สาเหตุหลักของปัญหานี้คือ สิ่งที่เรียกว่าหน่วยความจำรั่ว หรือ Memory Leak ก็เรื่องจองแล้วลืมเอาคืนนั่นแหละครับ
ภาษาซีเกิดขึ้นในปี ค.ศ.1972 โดย Dennis Ritchie แห่ง Bell Labs โดยภาษาซีนั้นพัฒนามาจาก ภาษา B และจากภาษา BCPL ซึ่งในช่วงแรกนั้นภาษาซีถูกออกแบบให้ใช้เป็นภาษาการเขียนโปรแกรมในระบบ UNIX และเริ่มมีคนสนใจมากขึ้นในปี ค.ศ.1978 เมื่อ Brain Kernighan ร่วมกับ Dennis Ritchie พัฒนามาตรฐานของภาษาซีขึ้นมา คือ K&R (Kernighan & Ritchie) และทั้งสองยังได้แต่งหนังสือชื่อว่า "The C Programming Language" โดยภาษาซีนั้นสามารถจะปรับใช้กับเครื่องคอมพิวเตอร์รูปแบบต่างๆได้ ต่อมาในช่วง ปี ค.ศ.1988 Ritchie และ Kernighan ได้ร่วมกับ ANSI (American National Standards Institute) สร้างเป็นมาตรฐานของภาษาซีขึ้นมาใหม่มีชื่อว่า "ANSI C"Dennis Ritchieภาษาซีนั้นจัดเป็นภาษาที่ใช้ในการเขียนโปรแกรมที่นิยมใช้งาน ซึ่งภาษาซีจัดเป็นภาษาระดับกลาง (Middle-Level Language) เหมาะกับการเขียนโปรแกรมแบบโครงสร้าง (Structured Programming) โดยมีคุณสมบัติโดดเด่นอย่างหนึ่งคือ มีความยืดหยุ่นมาก กล่าวคือ สามารถทำงานกับเครื่องมือต่างๆ สามารถปรับเปลี่ยนการเขียนโปรแกรมในรูปแบบต่างๆได้ เช่น สามารถเขียนโปรแกรมที่มีความยาวหลายบรรทัดให้เหลือความยาว 2-3 บรรทัดได้ โดยมีการผลการทำงานที่เหมือนเดิมครับเหตุผลที่ควรเรียนภาษาซีก็เนื่องจากภาษาซีเป็นภาษาแบบโครงสร้างที่สามารถศึกษาและทำความเข้าใจได้ไม่ยาก อีกทั้งยังสามารถเป็นพื้นฐานในการเขียนโปรแกรมภาษาอื่นๆ ได้อีก เช่น C++, Perl, JAVA เป็นต้นจาก C สู่ C++ถูกพัฒนาโดย Bjarne Stroustrup แห่ง Bell Labs โดยได้นำเอาภาษา C มาพัฒนาและใส่แนวคิดการเขียนโปรแกรมเชิงวัตถุ หรือ OOP (Object Oriented Programming) เข้าไปด้วย ซึ่งเป็นที่มาของ C++ ก็คือ นำภาษา C มาพัฒนาปรับปรุงให้มีประสิทธิภาพมากขึ้นBjarne Stroustrupจำเป็นไหม? ที่ต้องเรียนภาษา C ก่อน เรียน C++ เลยไม่ได้เหรอ? คำตอบก็คือ คุณจะเรียน C++ เลยก็ได้ครับ โดยไม่ต้องศึกษาภาษา C มาก่อน แต่ถ้าคุณเข้าใจหลักการทำงาน และการเขียนโปรแกรมภาษา C แล้วจะสามารถต่อยอด C++ ได้เร็วกว่า อีกทั้งยังสามารถเข้าใจแนวคิดการเขียนโปรแกรมภาษาอื่นๆ ได้อีก ซึ่งในบทความในช่วงแรกผมจะนำเสนอหลักและแนวคิดในการเขียนโปรแกรมภาษา C ก่อนนะครับ เพื่อให้ผู้อ่านได้เข้าใจในพื้นฐานก่อนนะครับต่อไปจะขอเกริ่นถึงการเขียนโปรแกรมแบบโครงสร้างสักเล็กน้อยก่อนนะครับ แล้วก็จะเริ่มเข้ากระบวนการการเขียนโปรแกรมกันลักษณะโปรแกรมแบบโครงสร้างการเขียนโปรแกรมแบบโครงสร้าง (Structured Programming) ก็คือ การนำโครงสร้างของคำสั่งหลายๆ รูปแบบ นำมาใช้ในโปรแกรม โดยจะมีการใช้คำสั่งลักษณะ goto ให้น้อยที่สุด ตัวอย่างการเขียนโปรแกรมแบบโครงสร้าง ก็มี ภาษา C, Pascal และ Cobol เป็นต้นครับ ผมจะยกตัวอย่างในภาษา C ในรูปแบบการเขียนโปรแกรมแบบโครงสร้างให้ดูดังด้านล่างนะครับภาพ: โปรแกรมที่เขียนด้วยภาษาซีแบบง่ายๆ แสดงถึงโครงสร้างจากโปรแกรมข้างต้นนะครับ สามารถแบ่งโครงสร้างตามลักษณะหน้าที่การทำงานได้ 3 ส่วนหลักๆ นะครับ ก็คือส่วนที่ 1 ประกาศค่าตัวแปร และ การกำหนดค่าให้กับตัวแปร (Declare)ส่วนที่ 2 เพิ่มค่า และเก็บค่าไว้ในตัวแปร (Calculation)ส่วนที่ 3 แสดงผลทางจอภาพ (Display)
จุดเด่นของภาษาซี
1. เป็นภาษาที่เข้าใจง่าย มีลักษณะเป็นโครงสร้าง ท่านอ่านคำสั่งต่างๆแล้ว ทำความเข้าใจไม่ยากเลยสามารถควบคุมฮาร์ดแวร์ได้อย่างไม่มีสิ่งใดมาขวางกั้น โปรแกรมทำงานได้อย่างรวดเร็ว ใช้งานได้หลากหลาย ยืดหยุ่น สามารถเขียนแยกเป็นโมดูล (เป็นโปรแกรมย่อยๆ) ได้
2. เป็นรากฐานเพื่อไปศึกษาภาษาอื่นได้อีก ไม่ว่าจะเป็น Java Perl PHP C# ล้วนแต่ถูกสร้างมาจากภาษาซี เพราะภาษาซีนั้นเป็นภาษาที่ถูกสร้างขึ้นมานานมากแล้ว และถูกนำมาใช้กันทั่วโลก และหากท่านจะสร้างภาษาโปรแกรมขึ้นมาสักภาษาหนึ่ง หากท่านอยากจะให้มันเข้าใจง่าย และใช้กันแพร่หลาย ท่านจะคิดคำสั่งเอง หรือท่านจะเอาคำสั่งที่โปรแกรมเมอร์ทั่วโลกเขาเข้าใจอยู่แล้วมาใช้ล่ะครับ แน่นอน ก็ต้องอย่างหลังอยู่แล้ว ทำให้ภาษาโปรแกรมหลายๆตัวที่นิยม ล้วนสร้างขึ้นมาจากภาษาซี หากท่านศึกษาภาษาซีก่อน เมื่อท่านไปศึกษาภาษาอื่น ท่านจะข้ามพื้นฐานไปได้เลย ทำให้การศึกษาภาษาอื่น เป็นไปด้วยความรวดเร็ว
3. เป็นภาษาที่ทำงานเร็ว คล่องตัว เพราะการเรียนภาษาซีนั้น ทำกันบนบรรทัดคำสั่ง เพื่อสั่งให้ทำงานบนหน้าจอโดยตรง หรือจะสั่งเครื่องพิมพ์ก็ย่อมได้ ภาษาโปรแกรมใหม่ๆ มักจะมีตัวแปลภาษาและอีดิตเตอร์เป็นแบบ IDE ไม่ทันไรผู้เรียนก็สามารถสร้างหน้าจอ GUI (กราฟิกยูเซอร์อินเตอร์เฟช) ได้แล้ว แต่มันเป็นง่ายไปครับ การข้ามขั้นพื้นฐานไป ทำให้ความรู้ท่านไม่แน่นพอ หากท่านเรียนภาษาซีท่านจะได้เริ่มตั้งแต่รันบนดอสกันไปเลย ทำให้ท่านเข้าใจพื้นฐานของโปรแกรมต่างๆ เมื่อพื้นฐานท่านแน่น อีกหน่อยจะไปพัฒนาระบบใหญ่ๆ หรือเขียนโปรแกรมเชิงวัตถุก็สบาย
4. มีพอยเตอร์ให้เราได้ศึกษาในเรื่องของหน่วยความจำ ภาษาซีจะสามารถเข้าจัดการหน่วยความจำได้ ไม่ว่าจะเป็นการจัดสรร เพิ่มลดข้อมูลในหน่วยความจำ ก็ย่อมได้ เพราะอย่างที่ได้กล่าวไว้ว่า ภาษาซีสามารถควบคุมฮาร์ดแวร์ได้ การจะจัดการกับหน่วยความจำก็ไม่ใช่ปัญหาเลย ท่านสามารถจัดสรรทรัพยากรให้เหมาะสมกับการทำงานของท่านได้ เช่น หากโปรแกรมอยู่เฉยๆก็ไม่ต้องให้โปรแกรมกินหน่วยความจำ เมื่อมันเริ่มทำงานเมื่อไหร่ก็ให้เริ่มกินหรือจองหน่วยความจำ ทำให้โปรแกรมของท่านมีความยืดหยุ่น พลิกแพลงได้ เรื่องพอยเตอร์นี่แหละครับ จุดเด่นของภาษาซี
5. มีชุดพัฒนาอยู่มากมาย เพื่อใช้ในงานเฉพาะทาง ไม่ว่าจะเป็นการจัดการกับรูปภาพ ด้วยชุดพัฒนา Images Processing การพัฒนาโปรแกรมบนวินโดวส์ด้วย MFC หรือ Visual C++ และอีกมากมาย หากท่านมีพื้นฐานดีแล้ว ท่านสามารถศึกษาชุดพัฒนาเหล่านี้ได้ไม่ยาก และที่สำคัญสามารถหาชุดพัฒนาที่ถูกสร้างจากภาษาซีได้ทั่วโลก
6. ภาษาซีนั้นมีมาตรฐานเดียวกันทั่วโลก นั่นหมายความว่า ท่านศึกษาครั้งเดียว ท่านเขียนได้ทั้งบน วินโดวส์และยูนิกซ์หรือลีนุกซ์ ซึ่งทำให้ท่านสามารถพัฒนาโปรแกรมในระบบปฏิบัติการหลายๆแบบได้ ไม่ต้องศึกษาภาษาใหม่เลย อาจจะศึกษาลักษณะที่ต่างกัน ก็เพียงเล็กน้อย นอกนั้นก็คล้ายกันเลยทีเดียว
7. หลายๆสถาบันมักจะให้เรียนภาษาซีเป็นภาษาแรก เพื่อเป็นพื้นฐานไปสู่การเขียนโปรแกรมเชิงวัตถุ เช่น C++ , Java ท่านยังสามารถศึกษาไปในด้านของวิชาโครงสร้างข้อมูลได้ ซึ่งใช้ในการจัดสรรทรัพยากรหน่วยความจำ การจัดเก็บข้อมูล การเรียงลำดับ การค้นหา และเป็นพื้นฐานของอีกหลายๆวิชา
จุดด้อยของภาษา C
อีกปัญหาหนึ่ง ก็คือตัวของภาษา C ไม่มีตัวจัดการจองหน่วยความจำในตัวเอง เมื่อเวลาเราต้องการจองหน่วยความจำแบบ Dynamic ภาษา C ทำ wrapper เพื่อติดต่อกับ OS เพื่อขอจองหน่วยความจำโดยตรง ปัญหาก็คือ การติดต่อกันระหว่างโปรแกรมของเรากับ OS เป็นไปอย่างหลวมๆ ถ้าโปรแกรมลืมบอก OS ว่า เลิกจองหน่วยความจำดังกล่าว หน่วยความจำนั้นก็จะถูกจองไปเรื่อยๆ เราจะเห็นเครื่องคอมพิวเตอร์ทำงานได้เร็วในตอนเช้า แต่พอตกบ่ายก็ช้าลงจนทำงานไม่ไหว จนสุดท้ายต้อง boot ใหม่ สาเหตุหลักของปัญหานี้คือ สิ่งที่เรียกว่าหน่วยความจำรั่ว หรือ Memory Leak ก็เรื่องจองแล้วลืมเอาคืนนั่นแหละครับ
สมัครสมาชิก:
บทความ (Atom)