ปัญหา
อธิบายแนวคิดของการอ้างอิงและตัวชี้ในภาษาการเขียนโปรแกรม 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