เป็นตัวชี้ที่สามารถเก็บที่อยู่ของตัวแปรประเภทข้อมูลใด ๆ (หรือ) สามารถชี้ไปที่ตัวแปรประเภทข้อมูลใดก็ได้
ประกาศ
ประกาศสำหรับตัวชี้เป็นโมฆะมีดังนี้ -
void *pointername;
ตัวอย่างเช่น − เป็นโมฆะ *vp;
กำลังเข้าถึง − Type cast operator ใช้สำหรับเข้าถึงค่าของตัวแปรผ่านตัวชี้
ไวยากรณ์
ไวยากรณ์สำหรับตัวชี้เป็นโมฆะได้รับด้านล่าง -
* ( (type cast) void pointer)
ตัวอย่างที่ 1
int i=10; void *vp; vp = &i; printf ("%d", * ((int*) vp)); // int * type cast
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับ ตัวชี้โมฆะ −
#include<stdio.h> main ( ){ int i =10; float f = 5.34; void *vp; vp = &i; printf ("i = %d", * ((int*)vp)); vp = &f; printf ( "f = %f", * ((float*) vp)); }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
i = 10 f = 5.34
ตัวอย่างที่ 2
รับด้านล่างเป็นโปรแกรม C สำหรับเลขคณิตตัวชี้ในพอยน์เตอร์เป็นโมฆะ -
#include<stdio.h> #define MAX 20 int main(){ int array[5] = {12, 19, 25, 34, 46}, i; void *vp = array; for(i = 0; i < 5; i++){ printf("array[%d] = %d\n", i, *( (int *)vp + i ) ); } return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
array[0] = 12 array[1] = 19 array[2] = 25 array[3] = 34 array[4] = 46