কম্পিউটার টিউটোরিয়াল

C ভাষায় void পয়েন্টার কী?


এটি একটি পয়েন্টার যা যেকোনো ডেটা টাইপের ভেরিয়েবলের অ্যাড্রেস ধারণ করতে পারে (অথবা যেকোনো ডেটা টাইপের ভেরিয়েবলে পয়েন্ট করতে পারে)।

ঘোষণা

void পয়েন্টারের ঘোষণাটি নিচে দেওয়া হলো −

void *pointername;

উদাহরণস্বরূপ − void *vp;

অ্যাক্সেস করা − টাইপ কাস্ট অপারেটর ব্যবহার করে পয়েন্টারের মাধ্যমে ভেরিয়েবলের মান অ্যাক্সেস করা হয়।

সিনট্যাক্স

void পয়েন্টারের সিনট্যাক্স নিচে দেওয়া হলো −

*((type cast) void pointer)

উদাহরণ ১

int i = 10; void *vp; vp = &i; printf("%d", *((int*)vp)); // int* টাইপ কাস্ট

উদাহরণ

void পয়েন্টার এর জন্য C প্রোগ্রাম নিচে দেওয়া হলো −

#include  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

উদাহরণ ২

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

  1. সি ভাষায় NULL পয়েন্টার ও Void পয়েন্টারের পার্থক্য

  2. সি-তে ভয়েড পয়েন্টার (Void Pointer)

  3. সি/সি++-এ void পয়েন্টারের আকার

  4. C# প্রোগ্রামিং কী? (What is C# Programming?)