รายละเอียดเกี่ยวกับพอยน์เตอร์และอาร์เรย์ที่แสดงความแตกต่างมีดังนี้
ตัวชี้
ตัวชี้เป็นตัวแปรที่เก็บที่อยู่ของตัวแปรอื่น เมื่อหน่วยความจำถูกจัดสรรให้กับตัวแปร ตัวชี้จะชี้ไปยังที่อยู่หน่วยความจำของตัวแปร ตัวดำเนินการ Unary ( * ) ใช้เพื่อประกาศตัวแปรตัวชี้
ต่อไปนี้เป็นรูปแบบการประกาศตัวชี้
datatype *variable_name;
ในที่นี้ ประเภทข้อมูลคือประเภทข้อมูลของตัวแปร เช่น int, char, float เป็นต้น และ variable_name คือชื่อของตัวแปรที่ผู้ใช้กำหนด
มีโปรแกรมที่สาธิตพอยน์เตอร์ดังนี้
ตัวอย่าง
#include <stdio.h>
int main () {
int a = 8;
int *ptr;
ptr = &a;
printf("Value of variable a: %d\n", a);
printf("Address of variable a: %d\n", ptr);
return 0;
} ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
Value of variable a: 8 Address of variable a: -2018153420
อาร์เรย์
อาร์เรย์คือชุดขององค์ประกอบประเภทเดียวกันในตำแหน่งหน่วยความจำที่อยู่ติดกัน ที่อยู่ต่ำสุดในอาร์เรย์สอดคล้องกับองค์ประกอบแรกในขณะที่ที่อยู่สูงสุดสอดคล้องกับองค์ประกอบสุดท้าย ดัชนีอาร์เรย์เริ่มต้นด้วยศูนย์ (0) และลงท้ายด้วยขนาดของอาร์เรย์ลบหนึ่ง (ขนาดอาร์เรย์ - 1)
ผลลัพธ์
ต่อไปนี้เป็นไวยากรณ์ของอาร์เรย์
type array_name[array_size ];
ในที่นี้ array_name คือชื่อที่กำหนดให้กับอาร์เรย์ และ array_size คือขนาดของอาร์เรย์
มีโปรแกรมสาธิตอาร์เรย์ดังนี้
ตัวอย่าง
#include <stdio.h>
int main () {
int a[5];
int i,j;
for (i = 0;i<5;i++) {
a[i] = i+100;
}
for (j = 0;j<5;j++) {
printf("Element[%d] = %d\n", j, a[j] );
}
return 0;
} ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104