รายละเอียดเกี่ยวกับพอยน์เตอร์และอาร์เรย์ที่แสดงความแตกต่างมีดังนี้
ตัวชี้
ตัวชี้เป็นตัวแปรที่เก็บที่อยู่ของตัวแปรอื่น เมื่อหน่วยความจำถูกจัดสรรให้กับตัวแปร ตัวชี้จะชี้ไปยังที่อยู่หน่วยความจำของตัวแปร ตัวดำเนินการ 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