วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552

DTS04-14/07/2009

สรุปset และ string มีอยู่ 2 รูปแบบ คือ โครงสร้างข้อมูลแบบเซ็ตและโครงสร้างข้อมูลแบบสตริงโครงสร้างข้อมูลแบบเซ็ต เป็นโครงสร้างข้อมูลที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันในภาษาซีจะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับในภาษาปาสคาลแต่สามารถใช้หลักการของการดำเนินงานแบบเซ็ตมาใช้ได้โครงสร้างข้อมูลแบบสตริงสตริง (String) หรือ สตริงของอักขระ (Character String) เป็นข้อมูลที่ประกอบไปด้วยตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่างการประยุกต์ใช้คอมพิวเตอร์ที่เกี่ยวกับข้อมูลที่เป็นสตริงมีการนำไปใช้สร้างโปรแกรมประเภทบรรณาการข้อความหรือโปรแกรมประเภทประมวลผลการกำหนดสตริง

การกำหนดสตริงทำได้หลายแบบ

1. กำหนดเป็นสตริงที่มีค่าคงตัว

2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์

การกำหนดตัวแปรสตริงในการกำหนดตัวแปรของสตริง อาศัยหลักการของอะเรย์เพราะสตริงคืออะเรยืของอักขระที่ปิดท้ายด้วย null character (\0)และมีฟังชันพิเศษสำหรับทำงานกับสตริงโดยเฉพาะอะเรย์ของสตริงถ้าหากมีสตริงจำนวนมาก ก็ควรจะทำให้เป็นอะเรย์ของสตริง เพื่อที่จะเขียนโปรแกรมได้สะดวกการสร้างอะเรย์ของสตริง สามารถสร้างได้ทั้งแบบที่ให้ค่าเริ่มต้นและแบบที่กำหนดเป็นตัวแปรฟังก์ชัน puts () ใช้ในการพิมพ์สตริงออกทางจอภาพโดยการผ่านค่าแอดเดรสของสตริงไปให้เท่านั้น ข้อสังเกต การกำหนดอะเรย์ของสตริงในลักษณะอย่างนี้ ไม่ใช่อะเรย์ที่แท้จริงตามหลักการของอะเรย์ เนื่องจากขนาดของช่องในอะเรย์ไม่เท่ากัน แต่อนุโลมให้ถือว่าเป็นอะเรย์การดำเนินการเกี่ยวกับสตริงในการดำเนินการเกี่ยวกับสตริง จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.hเก็บอยู่ใน C Libraly อยู่แล้วสามารถนำมาใช้ได้ โดยการใช้คำสั่ง #include ในการเรียกใช้ เช่น- ฟังก์ชัน strlen(str) ใช้หาความยาวของสตริง- ฟังก์ชัน strcpy(str1,str2) ใช้คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง- ฟังก์ชัน strcat(str1,str2) ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน- ฟังก์ชัน strcmp(str1,str2) ใช้เปรียบเทียบข้อความ 2 ข้อความว่ามีค่าเท่ากันหรือไม่ถือหลักการเปรียบเทียบแบบพจนานุกรม

#include"iostream.h"

int main()

{

cout <<>

cout << " ### Hello my friend ! ###";

cout <<>

cout << " How are you?" <<>

cout << " I'm fine thanks."<<>

cout << " I'm a programer.";

cout <<>

cout <<>

cout << " Bye bye";


return 0;

}

วันจันทร์ที่ 6 กรกฎาคม พ.ศ. 2552

DTS03-30/06/2009

สิ่งที่ได้จากการเรียนอาทิตย์นี้
ทำให้เรารู้ว่าตัวแปรอาเรย์สามารถเก็บข้อมูลหลายๆข้อมูลไว้ได้โดยไม่ต้องใช้ตัวแปรหลายตัว เช่นถ้าต้องการเก็บอายุของเพื่อนทั้ง 20 คน ถ้าเราใช้ตัวแปรแบบ int เราจะต้องประกาศตัวแปร age1, age2, age3,.....,age20 ให้เป็นแบบ int ซึ่งเป็นการประกาศตัวแปรถึง 20 ตัวด้วยกัน แต่ถ้าใช้อาเรย์เราประกาศตัวแปร age ให้เป็นอาเรย์แบบ int เพียงตัวเดียวก็สามารถเก็บค่าทั้ง 20 ค่าได้แล้ว
และทำให้ได้รู้และเข้าใจเกี่ยวกับ structure มากขึ้นว่าสามารถกำหนดให้ตัวแปรอื่น ๆ มีโครงสร้างข้อมูลเหมือนกับ structure ที่ประกาศไว้ได้โดยใช้คำสั่ง struct
รูปแบบ
struct struc-name struc-variable;
ถ้ามีหลายตัวแปรจะคั่นด้วยเครื่องหมายคอมม่า ( ,)

สิ่งที่อยากทราบเพิ่มเติม
ยังไม่ค่อยเข้าใจว่าระหว่าง array กับ Pointer นั้นเก็บค่าไว้ตรงไหนและการเก็บค่านั้นต่างกันอย่างไร คิดว่าคงต้องอ่านทบทวนเพิ่มเติมค่ะ