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

เรื่อง Array and Record

เนื้อหา
-การดำเนินการเกี่ยวข้องกับอะเรย์ 1 มิติ หลายมิติ
-การส่งค่าของอะเรย์ ในโปรแกรม และฟังก์ชั่น
-การดำเนินการที่เกี่ยวข้องกับ เรคคอร์ด
-ความสัมพันธ์ระหว่าง เรคคอร์ด กับอะเรย์ และอะเรย์ ชนิดโครงสร้าง

จุดประสงค์การเรียนรู้
1. เพื่อให้นักศึกษาทราบวิธีการของอะเรย์
2.เพื่อให้นักศึกษาทราบวิธีการส่งค่าของอะเรย์ในโปรแกรมและฟังก์ชั่น
3. เพื่อให้นักศึกษาทราบวิธีการดำเนินการที่เกี่ยวข้องกับเรคคอร์ดข้อมูล
4.เพื่อให้นักศึกษาทราบความสัมพันธ์ของข้อมูลที่เกิดขึ้นของเรคคอร์ดกับอะเรย์ข้อมูล

Array อะเรย์เป็นโครงสร้างข้อมูลที่เรียกว่า Linear List มีลักษณะคล้ายเซตในคณิตศาสตร์ คืออะเรย์จะประกอบด้วยสมาชิกที่มีจำนวนคงที่มีรูปแบบข้อมูลเป็นแบบเดียวกันสมาชิกแต่ละตัวใช้เนื้อที่จัดเก็บที่มีขนาดเท่ากันเรียงต่อเนื่องในหน่วยความจำหลักการกำหนดArray การกำหนดอะเรย์จะต้องกำหนดชื่ออะเรย์พร้อม subscript ซึ่งเป็นตัวกำหนดขอบเขตของอะเรย์มีได้มากกว่า 1 ตัวจำนวน subscript จะเป็นตัวบอกมิติของอะเรย์นั้นอะเรย์ที่มี subscript มากกว่า 1 ตัวขึ้นไปจะเรียกว่า อะเรย์หลายมิติ

การกำหนด subscript แต่ละตัวจะประกอบไปด้วยค่าสูงสุดและ ค่าต่ำสุดของ subscript นั้น การประกาศค่าตัวแปรอะเรย์ ในภาษาคอมพิวเตอร์ บางภาษา เช่น
ภาษาปาสคาล var A:array[1..10] of real;
var K:array[1..5,1..10] of integer;
ภาษาซี float A[10];
int K[5] [10];

ข้อกำหนดของการกำหนดค่าต่ำสุดและค่าสูงสุดของ subscript คือ
1.ค่าต่ำสุดต้องมีค่าน้อยกว่าหรือเท่ากับค่าสูงสุดเสมอ
2.ค่าต่ำสุด เรียกว่า ขอบเขตล่าง
3.ค่าสูงสุด เรียกว่า ขอบเขตบน

ค่า subscript ที่ใช้อ้างอิงถึงสมาชิก จะต้องมีค่ามากกว่าหรือเท่ากับขอบเขตล่างและน้อยกว่า หรอเท่ากับขอบเขตบน

lower bound ≤ subscript ≤ upper bound
ขนาดของ index แต่ละตัว ของ Array หาได้จากขนาดของsubscript = upper bound - lower bound + 1
จำนวนสมาชิกหรือขนาดของอะเรย์ n มิติ หาได้จาก
ขนาดของอะเรย์ = ผลคูณของขนาดของsubscript แต่ละตัวเช่น

ขนาดของอะเรย์ A = Upper bound - lower bound+1
ขนาดของอะเรย์ K = ผลคูณของขนาดของsubscript แต่ละตัว
= (5-1+1) * (10-1+1)
= 5 * 10
= 50

การจัดเก็บอะเรย์ในหน่วยความจำหลักจะใช้เนื้อที่ขนาดเท่ากันเพื่อเก็บสมาชิกแต่ละตัวโดยเนื้อที่จะเรียงต่อเนื่องกันการจัดเก็บอะเรย์ในหน่วยความจำหลักจะพิจารณาตามประเภทของอะเรย์ในมิติต่างๆดั้งนี้- อะเรย์ 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 ชื่อตัวแปร

#include
#define N 5
int main(void) {
int i;float score[N];
float total=0;
printf("Number of student [%d]\n",N);
for(i=0; i <>
(
printf("input score student[%d]",i);
scanf(%f",& score[i]);
total = total + score[i]);
)
printf("Total is % f\n",total);
printf("Average is % f\n",total/N);
return 0;



คือการกำหนดค่าเริ่มต้นให้กับอะเรย์ การกำหนดค่าให้กับตัวแปรชุดที่มีค่าเป็นตัวเลข รูปแบบ data-type array-name[n] = {value1, value2,..,value n}; ตัวอย่าง int num[5] = {1,2,3,4,5}; หรือ int num[] = {1,2,3,4,5}; float x[6] = {0,0.25,0,0.5,0,0};


การกำหนดค่าให้กับตัวแปรชุดชนิด Characterรูปแบบchar array-name[n] =“string”;EX.char ch[9] = “SAWASDEE”;หรือ char ch[9]={‘S’,‘A’,‘W’,‘A’,‘S’,‘D’,‘E’,‘E’,‘\0’}มีการกำหนดค่าให้ตัวแปรชุดch[0] จะเก็บค่า S ถึง ch[7] จะเก็บค่า E และ ch[8] จะเก็บค่า \0โดยอัตโนมัติเพื่อแสดงการสิ้นสุดของข้อความ


สามารถกำหนดอะเรย์เป็นพารามิเตอร์ส่งให้กับฟังกชั่นได้ 2 ลักษณะ 1. การกำหนด array element เป็น พารามิเตอร์ส่งค่าให้กับฟังกชั่นทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุ subscript ตัวอย่าง swap(num[2],num[3]);draw_house(color[i],x[i],y[i]);
2. ส่งอะเรย์ทั้งชุดให้ฟังกชั่นทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี subscript ตัวอย่าง #define N 10float a[N]; float avg;avg = average(N,a);



ถ้าเป็นอะเรย์มิติเดียวสามารถทำได้ทั้งหมด 3วิธี
1.มีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
2.ไม่ต้องมีการประกาศขนาดของอะเรย์ที่ทำ หน้าที่ในการรับค่า
3. ตัวแปรที่ทำหน้าที่รับค่าถูกกำหนดเป็นพอยนเตอร์



การส่งผ่านอะเรย์ให้กับฟังกชั่นเป็นการส่งผ่านโดยการอ้างอิง เรียกว่า Pass by reference คือ ค่าของสมาชิกแต่ละตัวจะไม่ได้ถูกส่งไปให้ฟังกชั่น แต่ชื่อของอะเรย์จะถูกมองเป็นตำแหน่งในหน่วยความจำที่ใช้เก็บสมาชิกตัวแรกซึ่ง addressนี้จะถูกส่งให้กับอารกิวเมนต์ที่ตรงกัน ดั้งนั้น อารกิวเมนต์จึงเป็นpointer ชี้ไปยังสมาชิกตัวแรกของอะเรย์


รูปแบบtype array-name[n] [m];
type หมายถึง ชนิดของตัวแปรที่ต้องการประกาศเป็นอะเรย์ array-name หมายถึง ชื่อของตัวแปรที่ต้องการประกาศเป็น อะเรย์n หมายถึง ตัวเลขที่แสดงตำแหน่งของแถว m หมายถึง ตัวเลขที่แสดงตำแหน่งของคอลัมน์
ตัวอย่าง
char a[2][3];

col1 col2 col3
row 1 a[0][0] a[0][1] a[0][2]
row 2 a[1][0] a[1][1] a[1][2]


หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำ จำนวน 6 ที่สำหรับตัวแปร aกำหนดค่าเริ่มต้นได้หลายลักษณะ


ตัวอย่าง
กำหนดค่าเริ่มต้นให้ int a[2][3]
int a[2][3] = {1,2,3,4,5,6}; หรือ
int a[2][3] = {{1,2,3},{4,5,6}}; หรือ
int a[][3] = {{1,2,3},{4,5,6}};

#include
int main(void)
int a[3][4],r,c;
for(r=0; r<=2; r++)
for(c=0;c<=3;c++)
{
printf(" Entry Number ");
scanf("%d",&a[r][c]);
}
for(r=0; r<=2; r++)
for(c=0;c<=3;c++)
{
printf("\n Display");
printf("%4d",a[r][c]);
}
return 0;

Record or Structure
เป็นโครงสร้างข้อมูลที่ประกอบขึ้นมาจากข้อมูลพื้นฐานต่างประเภทกันรวมเป็น 1ชุดข้อมูลคือ จะประกอบด้วย data element หรือ field ต่างประเภทกันอยู่รวมกันในภาษา C ก็คือการ กำหนดข้อมูลเป็นรูปแบบของ Structure


Structure คือ โครงสร้างที่สมาชิกแต่ละตัวมี ประเภทข้อมูลแตกต่างกันได้ โดยที่ใน structure อาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์ หรือพอยเตอร์ หรือแม้แต่ structure ด้วยกันก็ได้
การนิยาม structure รูปแบบ struct struc-name { type name-1; type name-2; ……… type name-n; }struc-variable;

struct เป็นค่าหลักที่ต้องมีเสมอ struc-name ชื่อกลุ่ม structuretype ชนิดของตัวแปรที่อยู่ในกลุ่ม structurename-n ชื่อของตัวแปรที่อยู่ในกลุ่ม structure struc-variable ชื่อตัวแปรชนิดโครงสร้างคือ ตัวแปรที่มีโครงสร้าง เหมือนกับที่ประกาศไว้ในชื่อของกลุ่ม structureอาจมีหรือไม่มีก็ได้ถามมากกวา 1 ชื่อ แยกกันด้วยเครื่องหมายคอมมา (,)


การประกาศสมาชิกแต่ละตัวของ structureสมาชิกแต่ละตัวของ structure จะเป็นตัวแปรธรรมดาพอยนเตอร์อะเรย์หรือ structure ตัวอื่นก็ได้โดยชื่อของสมาชิกแต่ละตัวต้องแตกต่างกัน


struct employee {
char name[30];
int age;
float salary;
} personel;


จากตัวอย่าง เป็นการกำหนดให้ตัวแปร employeeเป็นชื่อของกลุ่ม structureที่ประกอบไปด้วย ตัวแปร name[30],age และ salary โดยมีตัวแปร personel เป็นตัวแปรชนิดโครงสร้างที่มีข้อมูลแบบเดียวกับตัวแปร employee


การกำหนดให้ตัวแปรมีโครงสร้างข้อมูลเหมือนกับ structure ที่ประกาศไว้แล้วสามารถกำหนดให้ตัวแปรอื่น ๆ มีโครงสร้างข้อมูลเหมือนกับ structure ที่ประกาศไว้ได้โดยใช้คำสั่งstruct struct struc-name struc-variable;ถามหลายตัวแปรจะคั่นด้วยเครื่องหมายคอมมา ( ,)


ตัวอย่าง
structemployee {
char name[30];
int
float salary;
};
struct employee emp1, emp2;
emp1 และ emp2 เป็นตัวแปรแบบ structure
ซึ่งมีการระบุ องค์ประกอบไว้ใน employeeเราสามารถที่จะประกาศ structureหนึ่งเป็นสมาชิกของอีก structureหนึ่งได้โดยจะต้องประกาศ structureที่จะนำไปฝั่งไว้ก่อนหน้า structure ตัวนอก


ตัวอย่าง
struct date {
int month;
int day;int year;
};
struct account {
int acct_no;
char name[30];
struct date lastpayment;
oldcustomer;


การกำหนดค่าเริ่มต้นให้กับสมาชิกของ structureสามารถกำหนดค่าเริ่มต้นให้กับสมาชิกของ structureได้โดยค่าเริ่มต้นที่กำหนดให้กับสมาชิกตัวใด จะต้องอยู่ในตำแหน่งที่ตรงกับสมาชิกตัวนั้นค่าเริ่มต้นจะต้องอยู่ในวงเล็บปีกกาและข้อมูลค่าเริ่มต้นแต่ละตัวแยกกันด้วยเครื่องหมาย ,
structure account ประกอบด้วยสมาชิก ดั้งนี้
- เลขจำนวนเต็ม (int acct_no)
- อะเรย์ของอีกขระจำนวน 30 ตัว (char name[30]);
- structure date

struct date {
int month;
int day;
int year;
};
struct account
{
int acct_no;
char name[30];
struct date lastpayment;
};
struct account customer = {1234, “John Smith”, 5,24,46};

จะได้วา customer เป็นตัวแปรแบบstructure ประเภท accountมีการกำหนดค่าเริ่มต้นให้สมาชิกแต่ละตัว ดั้งนี้
acct_no มีค่าเป็นจำนวนเต็ม 1234
name[30]มีค่าเป็น string “John Smith”
month มีค่าเป็นจำนวนเต็ม 5
มีค่าเป็นจำนวนเต็ม 24
มีค่าเป็นจำนวนเต็ม 46
การอ้างถึงตัวแปรที่อยู่ในตัวแปรชนืดโครงสร้างสามารถอ้างถึงตัวแปรที่อยู่ในตัวแปรชนิด โครงสร้างได้ รูปแบบ
struct-variable.element-namestruct-variable ชื่อตัวแปรชนิดโครงสร้าง
element-name ชื่อตัวแปรที่อยู่ภายใน structure



ตัวอย่าง
struct employee {
char name[30];
char address[20];
float salary;
} personel;



จากตัวอย่าง ถ้าต้องการนำตัวแปร salary มาใช้งานก็จะอ้างถึงตัวแปร salary ได้โดย
personel.salary



ตัวอย่าง
int main(void) {
struct account {
char name[30];
char addr[30];
float salary;int age;}
new;strcpy(new.name, “somsri”);
strcpy(new.addr, “jantaburi”);
new.salary = 7500;new.age= 35;
printf(“Name: %s\n Address: %s\n Salary : %.2f\n Age : %d\n”,new.name,new.addr,new.salary,new.age);
return 0;
}



อะเรย์ชนิดโครงสร้าง
รูปแบบ struct struc-name {
type name-1;
type name-2;
………
type name-n;
} struct-array variable;




ตัวอย่าง
struct employee {
char name[30];
int age;
float salary;
}input[5];



จากตัวอย่าง input เป็นอะเรย์ที่มีสมาชิกสูงสุดได้ 5 ตัว สมาชิกแต่ละตัวเป็น structure การอ้างถึงแต่ ละสมาชิกในอะเรย์ ทำได้โดยระบุ subscriptและระบุสมาชิกใน structure


รูปแบบ
struct-array-name[subscript].member-name



ตัวอย่าง
ถ้าต้องการเรียกใช้เงินเดือนของสมาชิกของอะเรย์input ตัวที่ 2 สามารถอ้างถึงได้ดั้งนี้
input[1].salary



การกำหนดค่าเริ่มต้นให้กับตัวแปรชุดชนิดโครงสร้าง
ตัวอย่าง



struct account {
int acct_no;
char name[30];
int age;
}customer[2] = {
{123, “Bill”, 23},
{125, “John”, 25}
};



Structure กับ pointer
เราสามารถที่จะอ้างถึงที่อยู่เริ่มต้นของ structureได้เหมือนกับตัวแปรอื่น ๆโดยใช้ตัวดำเนินการ &ดั้งนั้นถ้า variableเป็นตัวแปรประเภท structure&variable จะเป็นเลขที่อยู่เริ่มต้นของตัวแปร นอกจากนี้ยัง สามารถประกาศตัวแปรพอยนเตอร์สาหรับ structure ดั้งนี้
type *ptvar
type คือ ประเภทข้อมูลที่เป็น structure
ptvar คือ ชื่อของตัวแปรพอยนเตอร์
ดั้งนั้น สามารถกำหนดเลขที่อยู่เริ่มต้นของตัวแปรstructure ให้กับตัวแปรพอยนเตอร์ได้ดั้งนี้ ptvar = &variable



ตัวอย่าง
structaccount {
int acct_no;
char name[20];
int age;
}customer;
struct account *p;



จากตัวอย่าง ตัวแปรพอยเตอร์ p จะเป็นตัวแปรที่ทำหน้าที่ชี้ตำแหน่งที่อยู่ของตัวแปรชนิดโครงสร้างที่ชื่อ accountจะกำหนดเลขที่อยู่เริ่มต้นของ customerให้กับ pได้ คือp = &customer;เราสามารถที่จะเรียกใช้สมาชิกแต่ละตัวใน structure ได้จากตัวแปรพอยนเตอร์ ดั้งนี้


รูปแบบptvar -> member-name
ptvar คือ ตัวแปรพอยนเตอร์ที่ชี้ไปยัง structure
-> คือ ตัวดำเนินการที่เทียบได้กับตัว ดำเนินการ
member-name คือ สมาชิกของ structure(*ptvar).member-name

ข้อสังเกต ที่ต้องใส่( )ที่ตัวแปรพอยนเตอร์เพราะเครื่องหมาย .จะมีลำดับการทำงานสูงกว่าเครื่องหมาย *
ตัวอย่าง
struct account {
int acct_no;
char name[30];
int age;
}customer;
struct account *p = &customer;



ถ้าต้องการเรียกใช้ acct_no ของตัวแปรstructure ชื่อ customer จะเขียนได้ ดั้งนี้
customer.acct_no
หรือ p->acct_no
หรือ (*p).acct_no



การผ่าน structure ให้ฟังกชั่น ประเภทของการส่งผ่าน structure ให้ฟังกชั่นนั้น มี 2ประเภท คือ
1. ส่งสมาชิกแต่ละตัวของ structure
2. ส่งทั้ง structure
1.ส่งสมาชิกแต่ละตัวของ structureสมาชิกแต่ละตัวของ structureสามารถส่งเป็นอาร์กิวเมนต์ ของฟังกชั่นและส่งกลับจากฟั่งกชั่นได้โดยใช้คำสั่ง returnซึ่งมีทั้งการส่ง ค่าของตัวแปรที่อยู่ในตัวแปรstructure และส่ง ตำแหน่งที่อยู่ของตัวแปรนั้น ๆ ไปยังฟังกชั่น



ตัวอย่าง
การส่งค่าของตัวแปรใน structure ไปยังฟังกชั่น
float cal_annual(float);
int main(void) {
struct employee{
}emp1= {“somporn”,26,6500.50};
float annual;
annual = cal_annual(emp1.salary);
return 0;
}
float cal_annual(float sal) {
return(sal*12);
}



ถ้าส่งเป็นตำแหน่งที่อยู่ของตัวแปรใน structure ไปยังฟังกชั่น จะทำได้โดยใส่เครื่องหมาย & หน้าตัวแปรแบบstructure ดั้งนี้
struct sample{
char x[10];
int y;
float z;
};
สามารถส่งตำแหน่งที่อยู่ของตัวแปรใน structure ดั้งกล่าวไปยังฟังกชั่นได้ ดังนี้
f1(sample.x);
f2(&sample.y);
f3(&sample.z);
ข้อสงเกต
ถ้าเป็นตัวแปรชนิดอะเรย์ไม่ต้องใส่เครื่องหมาย & เพราะเป็นการส่งคำ ตำแหน่งที่อยู่ไปทั้งชุดอยู่แล้ว
2.ส่งผ่านทั้ง structure ให้กับฟังกชั่น จะส่งผ่านในลักษณะของพอยนเตอร์ไปยัง structureโดยหลักการจะเหมือนกับการส่งผ่านอะเรย์ไปให้ ฟังกชั่น ซึ่งเป็นลักษณะที่เรียกว่า Pass by reference

Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่ (Address)ของตัวแปรที่อยู่ในหน่วยความจำการประกาศชนิดของตัวแปรพอยนเตอร์



type *variable-name
หมายถึง ชนิดของตัวแปร
หมายถึง เป็นเครื่องหมายที่แสดงว่า ตัวแปรที
ตามหลังเครื่องหมายนี้เป็นตัวแปรพอยนเตอร์ variable-nameเป็นชื่อของตัวแปรที่ต้องการประกาศว่าเป็นชนิดพอยนเตอร์



ตัวอย่าง
char *prt;
หมายความว่า ประกาศว่าตัวแปร prt เป็นตัวแปรพอยนเตอร์ที่ใช้เก็บตำแหน่งเริ่มต้นที่จะเก็บ character
int *a;หมายความว่า ประกาศว่าตัวแปร a เป็นตัวแปรพอยนเตอร์ที่ใช้เก็บตำแหน่งเริ่มต้นที่จะใช้เก็บ



เครื่องหมายที่ใช้ทำงานกับตัวแปรพอยนเตอร์
1.เครื่องหมาย & เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาคำตำแหน่งที่อยู่ของตัวแปรที่เก็บไว้ในหน่วยความจำออกมาใช้
หมายความว่ากำหนดให้ตัวแปร x ซึ่งอยู่ที่ตำแหน่ง1000 มีค่า 10 เก็บอยู่

ตัวอย่าง
int *y , x=10;y = &x;
หมายความว่าตัวแปร y ซึ่งประกาศเป็นตัวแปรพอยนเตอร์จะเก็บค่า 1000ข้อสังเกต ตัวแปรที่มีเครื่องหมาย & นำหน้าจะไม่สามารถนำมาทำการคำนวณได้เช่น &x = &x + 1; ไม่ได้
2.เครื่องหมาย * มีการใช้งาน 2 ลักษณะ คือใช้ในการประกาศ parameter ว่าเป็นตัวแปรแบบพอยนเตอร์ เช่นvoid swap(int *p,int *q)
ตัวอย่าง
int *ptr,count;
count = 100;
ptr = &count;
printf(“%d\n”,*ptr);





ตัวอย่าง
int a, *ptr, b, c , *d;
a =25;
tr = &a;
b = a;
c = *ptr;
d = ptr;

ลักษณะที่อยู่ในหน่วยความจำ
คำส่งที่ 1เตรียมเนื้อที่ให้กับตัวแปรภายในหน่วยความจำ ตามตำแหน่งต่าง ๆ ดั้งนี้
คำสั่งที่ 2 a = 25

คำสั่งที่ 3 ptr= &a;

คำสั่งที่ 4 b = a;


คำสั่งที่ 5 c =*ptr;

คำสั่งที่ 6 d = tpr;
การใช้ตัวแปรพอยนเตอร์กับอะเรย์ตัวแปรพอยนเตอร์จะใช้อ้างถึงค่าที่เก็บไว้ในตัวแปรชุดได้ ดั้งนี้
ตัวอย่าง
char str[80], *pl;
pl = str;

บรรทัดที่ 1 เป็นการประกาศว่า str เป็นตัวแปรชุด ชนิดcharacter 1มิติ มีขนาดสมาชิก 80 สมาชิกและ pl เป็นตัว แปรพอยนเตอร์
บรรทัดที่ 2 เป็นการอ้างถึงข้อมูลที่เก็บในตัวแปรชุด strโดยการนำตำแหน่งที่อยู่ของตัวแปร str[0]ซึ่งเป็นสมาชิกตัวแรกไปเก็บไว้ใน ตัวแปรพอยนเตอร์ pl
เหมือนกับใช้คำสั่งpl = &str[0];การอ้างถึงตัวแปรชุด สามารถอ้างถึงโดยการเพิ่มหรือ ลดตัวแปรพอยนเตอร์ได้ เช่น ต้องการอ้างถึงตัวแปร str[4] ทำได้โดย*(pl+4)


ตัวอย่าง
#include
#define N 3int main(void) {
int num[N], *value;
num[0] = 100;
num[1] = 200;
num[2] = 300;
value = num;
print(“num[0] = %d\n”,*(value));
print(“num[1] = %d\n”,*(value+1));
print(“num[2] = %d\n”,*(value+2));
return 0;



แบบฝึกหัด
1. ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
2. ให้นักศึกษาหาค่าของ A[2], A[6] จากค่า A={2,8,16,24,9,7,3,8}
3. จากค่าของ int a[2][3] = {{6,5,4},{3,2,1}};ให้นักศึกษา หาค่าของ a[1][0] และ a[0][2]
4. ให้นักศึกษากำหนด Structure ที่มีค่าของข้อมูลจากน้อย6 Records
5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Arrayกับตัวแปร Pointerในสภาพของการกำหนดที่อยู่ของ ข้อมูล



























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

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