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

ตัวชี้เป็นโมฆะในภาษา C คืออะไร?


เป็นตัวชี้ที่สามารถเก็บที่อยู่ของตัวแปรประเภทข้อมูลใด ๆ (หรือ) สามารถชี้ไปที่ตัวแปรประเภทข้อมูลใดก็ได้

ประกาศ

ประกาศสำหรับตัวชี้เป็นโมฆะมีดังนี้ -

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