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

ตัวชี้กับอาร์เรย์ในC


พอยน์เตอร์และอาร์เรย์โดยส่วนใหญ่ถือว่าเหมือนกันในค ความแตกต่างบางประการได้แก่:

&ตัวดำเนินการ:

  • &pointer =ส่งกลับที่อยู่ของตัวชี้

  • &array =ส่งกลับที่อยู่ขององค์ประกอบแรก

ตัวดำเนินการขนาด:

  • sizeof(array) =ส่งคืนหน่วยความจำทั้งหมดที่ใช้โดยองค์ประกอบทั้งหมดของอาร์เรย์

  • sizeof(pointer) =คืนค่าหน่วยความจำเดียวที่ใช้โดยตัวแปรตัวชี้เอง

ตัวแปรอาร์เรย์ไม่สามารถกำหนดค่าใหม่ได้ในขณะที่ตัวแปรตัวชี้สามารถทำได้

ประกาศ:

int a[]; //array
Int *p; //pointer

ให้เราพิจารณาว่ามีตัวแปรตัวชี้จำนวนเต็ม

int *i;

ตอนนี้ให้เราพิจารณาผลลัพธ์ของการมอบหมายต่อไปนี้ –

a = &i; //illegal assignment. a variable can not be updated or modified.
p = &i; //legal assignment.