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

ความแตกต่างระหว่างตัวชี้และอาร์เรย์ในC


รายละเอียดเกี่ยวกับพอยน์เตอร์และอาร์เรย์ที่แสดงความแตกต่างมีดังนี้

ตัวชี้

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