วันอาทิตย์ที่ 26 กรกฎาคม พ.ศ. 2552

DST 04-14/07/2009

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

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

วันอาทิตย์ที่ 5 กรกฎาคม พ.ศ. 2552

สรุปโครงร้างข้อมูล 03-30/06/2009

อะเรย์เป็นโครงสร้างข้อมูลที่มีลักษณะเป็นเช็ต สามาชิกที่อยู่ในเช็ตมีจำนวนที่คงที่และแต่ละตัวจะใช้เนื้อที่ในการจัดเก็บที่มีขนาดเท่ากันอะเรย์จะมีอยู่ด้วยกัน
2 แบบ คืออะเรย์มิติเดียวกับอะเรย์หลายมิติขึ้นอยู่กับการกำหนด Subscript จะต้องมีค่ามากกว่า หรือเท่ากับขอบเขตล่าง และน้อยกว่าหรือเท่ากับขอบเขตบน

อะเรย์ 1มิติจะมีรูปแบบ data-type array-name[expression]และการส่งค่าของอะเรย์ให้กับฟังก์ชันสามารถทำได้ 2 แบบ
1.กำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุ subscript
2.ส่งอะเรย์ทั้งชุดให้ฟังก์ชันทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี subscript
อะเรย์แบบ 2 มิติจะมีรูปแบบ type array-name[n] [m];
ต่อมาคือเรื่องของ Stucture จะเป็นคำหลักเสมอในการประกาศตัวแบบ
Structure จะเป็นตัวแปรธรรมดา พอยน์เตอร์ อะเรย์ หรืออื่นๆก็ได้การใช้
structure กับ pointer จะใช้ตัวดำเนินการ &และการส่งผ่าน Structure ให้กับฟังก์ชันมี 2 แบบ
1.ส่งสมาชิกทีล่ะตัว
2.ส่งทีเดียวทั้งหมด

การส่ง structure ให้กับฟังก์ชันจะส่งผ่านในรูปของพอยน์เตอร์ไปยัง
Structure จะเหมือนกับส่งผ่านอะเรย์ให้กับฟังก์ชัน

วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ. 2552

DST02-23/06/2009

#include<stdio.h>
#include <string.h>
void main()
{
struct windows {
char os[20];
char cpu[50];
int memory;
int hard_drive;
int direct_x;
char support1[20];
char support2[20];
char support3[50];
};
struct windows vista;
strcpy(vista.os,"Windows Vista");
strcpy(vista.cpu,"1 GHz 32-bit (x86) or 64-bit (x64)processor");
vista.memory=512;
vista.hard_drive=20;
vista.direct_x=9;
strcpy(vista.support1,"DVD-Rom");
strcpy(vista.support2,"Audio Output");
strcpy(vista.support3,"Internet access (fees may apply)");
printf("==Windows Vista recommended system requirements==\n\n");
printf("Os = %s \n\n",vista.os);
printf("CPU : %s \n\n",vista.cpu);
printf("Memory : %d MB of system memory\n\n",vista.memory);
printf("Hard Drive: %d GB hard drive with at least 15 GB of available space\n\n",vista.hard_drive);
printf("DirectX : %d graphics and 32 MB of graphics memory\n\n",vista.direct_x);
printf("Requirements more :\n");
printf("- %s \n",vista.support1);
printf("- %s \n",vista.support2);
printf("- %s \n",vista.support3);
}