20 กรกฎาคม 2552

DTS 04-14/07/2009

ความรู้ที่ได้รับจากเรื่อง Set and String
เซ็ต (Set)
จะประกอบด้วยตัวดำเนินการ ได้แก่ Union Intersection Difference Complement เป็นต้น ความรู้ต่างๆเหล่านี้ได้เคยเรียนมาแล้วตอนมัธยม และในภาษาซีก็จะนำหลักการในการดำเนินงานของเซ็ตมาใช้ด้วย
สตริง (String) หรือ สตริงของอักขระ (Character String)
จะประกอบด้วย ตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่างด้วย
สตริง คือ อะเรย์ของอักขระ การกำหนดค่าของสตริงนั้น จำเป็นต้องกำหนดพื้นที่เพิ่มอีกหนึ่งช่อง คือ เอาไว้เก็บค่า null character ซึ่งเป็นจุดสิ้นสุดของสตริงนั่นเอง ซึ่งตัวแปรนี้จะมีสัญลักษณ์ คือ \0 สมมติว่าเรากำหนดตัวแปร name ขึ้นมาแล้วกำหนดอะเรย์ไว้ 20 ช่อง เราจะสามารถป้อนอักขระเข้าไปได้ไม่เกิน 19 ตัว แต่ถ้าหากว่าผู้ใช้ป้อนอักขระไม่ถึง 19 ตัว ระบบก็จะเติม \0 ให้กับพื้นที่ว่างจนเต็ม แต่ถ้าหากว่าผู้ใช้ป้อนอักขระเกินกว่า 19 ตัว ก็จะไม่สามารถรันโปรแกรมออกมาได้ ดังนั้นเราจึงควรกำหนดช่องอะเรย์ให้เพียงพอ
ความแตกต่างของการใช้ฟังก์ชัน gets() เเละscanf( )
ฟังก์ชัน get() คือฟังก์ชันที่อ่านค่าจากแป้นพิมพ์และนำมาเก็บไว้ในหน่วยความจำ ซึ่งก็คืออะเรย์ จนกว่าผู้ใช้จะกด Enter จะเติม null character ให้
ส่วน scanf()จะถือว่าค่าที่มีช่องว่างคั่นนั้นเป็นค่าคนละตัวกันและจะไม่เติม null characte

ไม่มีความคิดเห็น:

แสดงความคิดเห็น