ปัญหา
อธิบายแนวคิดของการอ้างอิงและตัวชี้ในภาษาการเขียนโปรแกรม c โดยใช้ตัวอย่าง
ข้อมูลอ้างอิง
-
เป็นชื่ออื่นสำหรับตัวแปรที่เราประกาศ
-
สามารถเข้าถึงได้โดยใช้ค่าผ่าน
-
ไม่สามารถเก็บค่า Null ได้
ไวยากรณ์
datatype *variablename
ตัวอย่างเช่น int *a; //a มีที่อยู่ของตัวแปรชนิด int
ตัวชี้
-
มันเก็บที่อยู่ของตัวแปร
-
เราสามารถเก็บค่า Null ไว้ได้โดยใช้ตัวชี้
-
สามารถเข้าถึงได้โดยใช้รหัสผ่านอ้างอิง
-
ไม่จำเป็นต้องเริ่มต้นในขณะที่ประกาศตัวแปร
ไวยากรณ์
pointer variable= & another variable;
ตัวอย่าง
#include<stdio.h>
int main(){
int a=2,b=4;
int *p;
printf("add of a=%d\n",&a);
printf("add of b=%d\n",&b);
p=&a; // p points to variable a
printf("a value is =%d\n",a); // prints a value
printf("*p value is =%d\n",*p); //prints a value
printf("p value is =%d\n",p); //prints the address of a
p=&b; //p points to variable b
printf("b value is =%d\n",b); // prints b value
printf("*p value is =%d\n",*p); //prints b value
printf("p value is =%d\n",p); //prints add of b
} ผลลัพธ์
add of a=-748899512 add of b=-748899508 a value is =2 *p value is =2 p value is =-748899512 b value is =4 *p value is =4 p value is =-748899508