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

การใช้งานอาร์เรย์ของพอยน์เตอร์ (Jagged Array) ใน C/C++


พิจารณาตัวอย่างที่ใช้อาร์เรย์ 3 จำนวนเต็ม

ใน C

ตัวอย่าง

#include <stdio.h> const int MAX = 3; int main() { int var[] = {10, 100, 200}; int i; for(i = 0; i < MAX; i++) { printf("Value of var[%d] = %d\n", i, var[i]); } return 0; }

ผลลัพธ์

Value of var[0] = 10 Value of var[1] = 100 Value of var[2] = 200

ใน C++

ตัวอย่าง

#include <iostream> using namespace std; const int MAX = 3; int main() { int var[] = {10, 100, 200}; int i; for(i = 0; i < MAX; i++) { cout<<"Value of var"<<i<<"="<<var[i]<<"\n"; } return 0; }

ผลลัพธ์

Value of var0=10 Value of var1=100 Value of var2=200

อาจมีสถานการณ์ที่ต้องการเก็บอาร์เรย์ของพอยน์เตอร์ไปยัง int, char หรือชนิดข้อมูลอื่น การประกาศอาร์เรย์ของพอยน์เตอร์ไปยัง integer:

int *ptr[MAX]

ประกาศ ptr เป็นอาร์เรย์ของ MAX integer pointers แต่ละ element ใน ptr เก็บ pointer ไปยังค่า int ตัวอย่างใช้ 3 จำนวนเต็มเก็บในอาร์เรย์ของพอยน์เตอร์

ใน C

ตัวอย่าง

#include <stdio.h> const int MAX = 3; int main() { int var[] = {10, 100, 200}; int i, *ptr[MAX]; for(i = 0; i < MAX; i++) { ptr[i] = &var[i]; } for(i = 0; i < MAX; i++) { printf("Value of var[%d] = %d\n", i, *ptr[i]); } return 0; }

ผลลัพธ์

Value of var[0] = 10 Value of var[1] = 100 Value of var[2] = 200

ใน C++

ตัวอย่าง

#include <iostream> using namespace std; const int MAX = 3; int main() { int var[] = {10, 100, 200}; int i, *ptr[MAX]; for(i = 0; i < MAX; i++) { ptr[i] = &var[i]; } for(i = 0; i < MAX; i++) { cout<<"Value of var"<<i<<"="<<*ptr[i]<<"\n"; } return 0; }

ผลลัพธ์

Value of var0=10 Value of var1=100 Value of var2=200

ยังสามารถใช้อาร์เรย์ของพอยน์เตอร์ไปยัง character เก็บรายการสตริงได้

ใน C

ตัวอย่าง

#include <stdio.h> const int MAX = 4; int main() { char *names[] = {"Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali"}; int i = 0; for(i = 0; i < MAX; i++) { printf("Value of names[%d] = %s\n", i, names[i]); } return 0; }

ผลลัพธ์

Value of names[0] = Zara Ali Value of names[1] = Hina Ali Value of names[2] = Nuha Ali Value of names[3] = Sara Ali

ใน C++

ตัวอย่าง

#include <iostream> using namespace std; const int MAX = 4; int main() { char *names[] = {"Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali"}; int i = 0; for(i = 0; i < MAX; i++) { cout<<"Value of names"<<i<<"="<<names[i]<<"\n"; } return 0; }

ผลลัพธ์

Value of names0=Zara Ali Value of names1=Hina Ali Value of names2=Nuha Ali Value of names3=Sara Ali