อาร์เรย์ arr[i] ถูกตีความว่าเป็น *(arr+i) ที่นี่ arr หมายถึงที่อยู่ขององค์ประกอบอาร์เรย์แรกหรือองค์ประกอบดัชนี 0 ดังนั้น *(arr+i) หมายถึงองค์ประกอบที่ i ห่างจากองค์ประกอบแรกของอาร์เรย์ ดังนั้นดัชนีอาร์เรย์จึงเริ่มต้นจาก 0 ในตอนแรก i คือ 0 ซึ่งหมายถึงองค์ประกอบแรกของอาร์เรย์
โปรแกรมที่แสดงสิ่งนี้ใน C++ มีดังนี้
ตัวอย่าง
#include <iostream> using namespace std; int main() { int arr[] = {5,8,9,3,5}; int i; for(i = 0; i<5; i++) cout<< arr[i] <<" "; cout<<"\n"; for(i = 0; i<5; i++) cout<< *(arr + i) <<" "; return 0; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
5 8 9 3 5 5 8 9 3 5
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
อาร์เรย์ arr[] มี 5 องค์ประกอบ อิลิเมนต์เหล่านี้แสดงโดยใช้ for loop ที่มีการแทนค่าอาร์เรย์ arr[i] และ *(arr + i) ผลลัพธ์ที่ได้จะเหมือนกันในทั้งสองกรณี ข้อมูลโค้ดที่แสดงเป็นดังนี้
int arr[] = {5,8,9,3,5}; int i; for(i = 0; i<5; i++) cout<< arr[i] <<" "; cout<<"\n"; for(i = 0; i<5; i++) cout<< *(arr + i) <<" ";