Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ทำไม array index เริ่มจากศูนย์ใน C/C++


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) <<" ";