এটি একটি পয়েন্টার যা যেকোনো ডেটা টাইপের ভেরিয়েবলের অ্যাড্রেস ধারণ করতে পারে (অথবা যেকোনো ডেটা টাইপের ভেরিয়েবলে পয়েন্ট করতে পারে)।
ঘোষণা
void পয়েন্টারের ঘোষণাটি নিচে দেওয়া হলো −
void *pointername;
উদাহরণস্বরূপ − void *vp;
অ্যাক্সেস করা − টাইপ কাস্ট অপারেটর ব্যবহার করে পয়েন্টারের মাধ্যমে ভেরিয়েবলের মান অ্যাক্সেস করা হয়।
সিনট্যাক্স
void পয়েন্টারের সিনট্যাক্স নিচে দেওয়া হলো −
*((type cast) void pointer)
উদাহরণ ১
int i = 10; void *vp; vp = &i; printf("%d", *((int*)vp)); // int* টাইপ কাস্টউদাহরণ
void পয়েন্টার এর জন্য C প্রোগ্রাম নিচে দেওয়া হলো −
#includemain ( ){ 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
উদাহরণ ২
void পয়েন্টারে পয়েন্টার এরিথম্যাটিকের C প্রোগ্রাম নিচে দেওয়া হলো −
#include#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