แถวลำดับ (array)

Download Report

Transcript แถวลำดับ (array)

แถวลำดับ (array)
ง40202 กำรเขียนโปรแกรมด้ วยภำษำคอมพิวเตอร์
ศูนย์ คอมพิวเตอร์
โรงเรียนปลวกแดงพิทยำคม
แถวลำดับ (array)
 คือเนือ
้ ที่ในหน่ วยควำมจำที่เรียงต่ อกัน ใช้ ในกำร
เก็บข้ อมูลชนิดเดียวกันหลำยจำนวน
 กำรประกำศตัวแปรเป็ นแถวลำดับจะทำให้ ตว
ั
แปรนั้นสำมำรถเก็บข้ อมูลได้ หลำยจำนวนและ
สำมำรถเข้ ำถึงข้ อมูลได้ โดยใช้ ตวั แปรชื่อเดียวกัน
แต่ ต้องมีตัวทีทำหน้ ำที่ชี้ลำดับข้ อมูล
กำรประกำศตัวแปรแถวลำดับ
 กำรประกำศตัวแปรแถวลำดับมีรูปแบบดังนี้
 ชนิดข้ อมูล ชื่ อตัวแปรแถวลำดับ[n];
 โดยที่
 ชนิดของข้ อมูล
คือ
ชนิดของข้ อมูลทีเ่ ก็บในตัวแปร
แถวลำดับ
 n คือ
จำนวนสมำชิกของตัวแปรแถวลำดับ
ตัวอย่ ำงกำรประกำศตัวแปรแถวลำดับ






int n[10];
ประกำศตัวแปรแถวลำดับชื่อ n ประกอบด้ วยสมำชิก 10 หน่ วยและ
แต่ ละหน่ วยใช้ เก็บข้ อมูลจำนวนเต็ม
char a[20];
ประกำศตัวแปรแถวลำดับชื่อ a ประกอบด้ วยสมำชิก 20 หน่ วยและ
แต่ ละหน่ วยใช้ เก็บข้ อมูลชนิดอักขระ
float g[5];
ประกำศตัวแปรแถวลำดับชื่อ g ประกอบด้ วยสมำชิก 5 หน่ วยและแต่
ละหน่ วยใช้ เก็บข้ อมูลจำนวนจริง
ลักษณะกำรเก็บข้ อมูลของตัวแปรแถวลำดับ


int n[10];
กำรอ้ ำงอิง
num[0]num[1]num[2]num[3]num[4]num[5]num[6]num[7]num[8]num[9]
หน่ วยควำมจำ
กำรอ้ ำงอิงข้ อมูลในตัวแปรแถวลำดับ





กำรอ้ ำงอิงข้ อมูลในแถวลำดับทำได้ โดยระบุตำแหน่ งในวงเล็บปี กแข็ง
หลังตัวแปร โดยที่ 0 หมำยถึงข้ อมูลตำแหน่ งแรก วิธีกำรใช้ ตวั แปรก็ทำ
เหมือนปกติแต่ ต้องระบุตำแหน่ งของข้ อมูลด้ วยเช่ น
num[7] = 5;
หมำยถึงกำรกำหนดค่ ำให้ ตัวแปร num ตัวชี้ที่ 5 (ซึ่งควำมจริงเป็ น
ตำแหน่ งที่ 6)
scanf(“%d”,&num[3]);
หมำยถึง กำรรับข้ อมูลไปเก็บไว้ ในตัวแปร num ตัวชี้ที่ 3 (ตำแหน่ งที่
4) สมมติว่ำผู้ใช้ ป้อน 9 เข้ ำมำในหน่ วยควำมจำจะเป็ นดังนี้
ลักษณะกำรเก็บข้ อมูลของตัวแปรแถวลำดับ
การอ้างอิง

num[0]num[1]num[2]num[3]num[4]num[5]num[6]num[7]num[8]num[9]
9
5
หน่ วยควำมจำ
ตัวอย่ ำงที่ 11.1 โปรแกรมรับจำนวนเต็ม 10 จำนวนแล้ วหำ
ผลรวม











#include <stdio.h>
main()
{
int num[10], sum, i;
for (i=10; i<10; i++)
scanf(“%d”,&num[i]);
sum = 0;
for (i=10; i<10; i++)
sum = sum + num[i];
printf(“Sum is %d\n”,sum);
}
//1
//3
//4
//6
//7
//8
//9
//10
//11
//12
//13