Array arr[i] ถูก interpret เป็น *(arr+i) arr หมายถึง address ของ first array element หรือ 0 index element ดังนั้น *(arr+i) หมายถึง element ที่ห่างจาก first element i positions ดังนั้น array index เริ่มจาก 0 เนื่องจาก i เริ่มต้นเป็น 0 หมายถึง first element
โปรแกรมสาธิตใน 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; }ผลลัพธ์
The output of the above program is as follows.
5 8 9 3 5 5 8 9 3 5
เข้าใจโปรแกรมข้างต้น:
Array arr[] มี 5 elements แสดงด้วย for loop ด้วย arr[i] และ *(arr + i) ผลลัพธ์เหมือนกัน Code snippet:
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) <<" ";