วันจันทร์ที่ 15 กุมภาพันธ์ พ.ศ. 2559

ใบงานที่ 3 โครงสร้างข้อมูลอาร์เรย์ 1 มิติ

ตอบ
คือ โครงสร้างข้อมูลแถวลำดับที่มีการจัดเก็บข้อมูลต่อเนื่องกันไปเป็นแถวต่อ เนื่องกันตลอด ซึ่งเปรียบเหมือนกับตารางแถวเดียว โดยมีดัชนีอ้างอิงเพียง 1 ตัว
    รูปแบบ
Data-type   array-name[expression]
Data-type  คือ ประเภทของข้อมูลอาร์เรย์ เช่น int,char,float
array-name  คือ ชื่อของอาร์เรย์
expression  คือ นิพจน์จำนวนเต็มซึ่งระบุจำนวนสมาชิกของอาร์เรย์
    ตัวอย่าง        char  a[4];         int  num[10];
    char a[4]];  หมายถึง  คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำสำหรับตัวแปร a ให้เป็นตัวแปรชุดชนิด character ขนาดสมาชิก 4 สมาชิก โดยหน่วยความจำจะเตรียมเนื้อที่ให้ 1 byte สำหรับ 1 ชื่อตัวแปร
    Initialization คือ การกำหนดค่าเริ่มต้นให้กับอาร์เรย์
1. การกำหนดค่าให้กับตัวแปรชุดที่มีค่าเป็นตัวเลข
    รูปแบบ    data-type   array-name[n]={value1,value2...value n};
    ตัวอย่าง
    int  num[5] = {1,2,3,4,5};  หรือ
    int  num[]   = {1,2,3,4,5};  หรือ
    int  x[6]      = {0,0.25,0,0.5,0,0};
2. การกำหนดค่าให้กับตัวแปรชุด ชนิด Character
    รูปแบบ    char   array-name[n] = "string";
    ตัวอย่าง
    char  ch[9] = "SAWASDEE";
    สามารถกำหนดอาร์เรย์  เป็นพารามิเตอร์ส่งให้กับฟังก์ชันได้ 2 ลักษณะ
    1. การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออาร์เรย์พร้อมระบุ subscript
       ตัวอย่าง
       swap(num[2],num[3]);
    2. ส่งอาร์เรย์ทั้งชุดให้ฟังก์ชัน ทำได้โดยอ้างถึงชื่ออาร์เรย์ โดยไม่มี subscript
       ตัวอย่าง
       #define N 10
       float a[N]; float avg;
       avg = average(N,a);
      การส่งผ่านอาร์เรย์ให้กับฟังก์ชันเป็นการส่งผ่านโดยการอ้างอิงเรียกว่า Pass by reference คือ ค่าของสมาชิกแต่ละตัวจะไม่ได้ถูกส่งไปให้ฟังก์ชันแต่ชื่อของอาร์เรย์จะถูกมอง เป็นตำแหน่งในหน่วยความจำที่ใช้เก็บสมาชิกตัวแรกซึ่ง address นี้จะถูกส่งให้กับอาร์กิวเมนต์ที่ตรงกัน  ดังนั้น อาร์กิวเมนต์จึงเป็น pointer ชี้ไปยังสมาชิกตัวแรกของอาร์เรย์

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

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