More Related Content
Similar to ข้อมูลชนิด Array
Similar to ข้อมูลชนิด Array (20)
ข้อมูลชนิด Array
- 2. ข้อมูลชนิดอาร์เรย์
อาร์เรย์ คือ ข้อมูลที่ประกอบไปด้วยรายการชนิดข้อมูลเดียวกันจานวนหนึ่ง แต่
ละรายการเรียกว่า เซลล์ (Cell) และแต่ละเซลล์จะมี อินเด็กซ์ (Index) สาหรับ
ใช้เพื่ออ้างถึงข้อมูล
ตัวแปรอาร์เรย์ (Array) หรือเรียกอีกชื่อหนึ่งว่า ตัวแปรชุด เป็นการจองพื้นที่
ในหน่วยความ จาให้กับตัวแปร เพื่อให้ตัวแปรนั้นสามารถรับข้อมูลหรือเก็บข้อมูลได้
มากกว่า 1 ค่า โดยค่าแต่ละค่านั้น จะถูกเก็บลงยังพื้นที่ของหน่วยความจาที่แตกต่าง
กัน พื้นที่ในหน่วยความจาจะใช้หมายเลขลาดับเป็นตัว
- 4. Case Study 1
หากในการเขียนปรแกรมต้องการตัวแปร 1 ตัวมาเก็บค่าจานวน
เต็ม 1 จานวน เราสามารถประกาศตัวแปรเป็น int x ; โดยที่ ตัว
แปรตัวนี้จะเก็บค่าได้เพียง 1 ค่าเท่านั้น ซึ่งหากต้องการตัวแปรมาเก็บ
จานวนเต็ม 50 จานวนจะต้องทาการประกาศตัวแปรเลย 50 ตัว เช่น
int x1, x2 ,x3, x4, x5………x50 ; ซึ่งเป็นการ
ยุ่งยากในการเขียนโปรแกรม
- 6. อาร์เรย์ชนิด 1 มิติ
มีลักษณะเป็นข้อมูล 1 ชุด เรียงลาดับกันเป็นแถวในแนวนอน
การประกาศตัวแปรอาร์เรย์
ใช้คาว่า ARRAY … OF
VAR ชื่อตัวแปร : ARRAY[ค่าแรก..ค่าสุดท้าย]
OF ชนิดข้อมูล;
ตัวอย่าง : การประกาศตัวแปรอาร์เรย์
VAR SName : ARRAY[1..50] OF
string[20];
SAge : ARRAY[1..50] OF byte;
SGpa : ARRAY[1..50] OF real;
- 7. อาร์เรย์ชนิด 2 มิติ
มีลักษณะการเก็บข้อมูลเป็นตาราง คือ มีทั้งแถวและคอลัมน์
การประกาศตัวแปรอาร์เรย์ชนิด 2 มิติ
ใช้คาว่า ARRAY [index1, index2] OF
VAR ชื่อตัวแปร : ARRAY[ค่าแรกของแถว..
ค่า สุดท้ายของแถว, ค่าแรกของคอลัมน์..ค่า สุดท้ายของ
คอลัมน์] OF ชนิดข้อมูล;
- 8. อาร์เรย์ชนิด 3 มิติ
ลักษณะการเก็บข้อมูลเป็นหลายตารางซ้อนกัน เช่น ข้อมูลคะแนน
วิชาคณิตศาสตร์และภาษาไทยของนักเรียน 2 ห้อง ห้องละ 50 คน
การประกาศตัวแปรอาร์เรย์ชนิด 3 มิติ
ใช้คาว่า ARRAY [index1, index2, index3] OF
VAR ชื่อตัวแปร : ARRAY[ค่าแรกของตาราง..ค่าสุดท้าย
ของตาราง, ค่าแรกของแถว.. ค่าสุดท้ายของแถว, ค่าแรกของ
คอลัมน์.. ค่าสุดท้ายของคอลัมน์] OF ชนิดข้อมูล;
- 10. ฟังก์ชันเกี่ยวกับ string
ในภาษาซีมีฟังก์ชันที่เกี่ยวกับ string ที่น่าสนใจอยู่หลาย
ฟังก์ชัน โดยฟังก์ชันเกียวกับ string จะถูกเก็บไว้ใน
<string.h> โดยมีฟังก์ชันเกียวกับ string ที่น่าสนใจดังนี้
1. strlen(str) ใช้หาความยาว string
2. strlwr(str) ใช้เปลี่ยน string ให้เป็นตัวพิมพ์เล็ก
3. strupr(str) ใช้เปลี่ยน string ให้เป็นตัวพิมพ์ใหญ่
- 11. 4. strrev(str) ใช้กลับตัวอักษรในสตริงจากซ้ายไปขวา
5. strcpy(str1,str2) ใช้ copy string จาก str2 ไปให้กับ str1
6. strcpy(str1,str2,n) ใช้ copy string จาก str2 ไปให้กับ str1 จานวน n ตัว
7. strcat(str1,str2) ใช้เชื่อม string str1 กับ str2 โดยนา str2 มาต่อท้าย
str1
8. strcmp(str1,str2) ใช้เปรียบเทียบ string str1 กับ str2 ว่า string ตัวใดมา
ก่อนหรือหลังตามหลักพจนานุกรม ถ้า str1 มาก่อน จะคืนค่า -1 ถ้า str1 มาทีหลัง จะคืนค่า 1 ถ้า
str1 กับ str2 เหมือนกันจะคืนค่า 0
- 12. ตัวอย่างโปรแกรมการใช้ฟังก์ชั่นเกี่ยวกับ string
1 #include <stdio.h>
2 #include <string.h>
3 int main()
4 {
5 char a[20] = “ant”;
6 char b[20] = “bird”;
7 char c[20];
8 printf(“length a = %dn”,strlen(a)); //พิมพ์ความยาวของ string a
9 printf(“length b = %dn”,strlen(b)); //พิมพ์ความยาวของ string b
10 printf(“reverse string b = %sn”,strrev(b)); //กลับตัวอักษรใน string b
11 printf(“%sn”,strcat(a,b)); //ต่อ string a กับ b
12 strncpy(c,a,2); // copy string a จานวน 2 ตัวอักษร มาใส่ string c
13 printf(“c = %s”,c);
14 }
- 13. จากตัวอย่างจะเห็นว่า เมื่อพิมพ์ค่าตัวแปร string c ออกมา
จะมีตัวอักษรแปลกๆมาด้วย ซึ่งจริงค่าควรจะเป็น “an” เนื่องจาก
ตอนประกาศตัวแปรเราไม่ได้กาหนดค่าให้ตัวแปร c ทาให้พื้นที่ตัว
แปรนั้นยังคงเก็บค่าเดิมอยู่ ซึ่งเป็นค่าอะไรไม่รู้ จึงทาให้เวลาพิมพ์ค่า
ออกมาจึงมีโอกาสที่จะมีค่าแปลกๆถูกพิมพ์ออกมาด้วย ดังนั้นจึงต้อง
เคลียร์ค่าข้อมูลในตัวแปรก่อน โดยการกาหนดค่าตัวแปรให้เป็น
string ว่าง ( “” )
- 15. สาหรับข้อมูลแบบ string ประกอบด้วยตัวอักษรหลายตัวมา
เรียงต่อกัน โดยอาจมองว่า string คือ array ของ char ก็ได้
แต่จะต้องมีรหัสสิ้นสุด string ที่เรียกว่า null (“″) เป็นตัวปิด
ท้าย string และถ้าหากต้องการเรียกใช้ฟังก์ชันที่เกี่ยวกับ
string จะต้องทาการ #include <string.h> เข้ามา
โปรแกรม ซึ่งใน ไฟล์ string.h จะมีฟังก์ชันเกียวกับ string
มากมายให้ใช้ เช่น ฟังก์ชัน strlen ใช้สาหรับหาความยาว
string , ฟังก์ชัน strcpy ใช้สาหรับ copy string เป็นต้น