কম্পিউটার

C ভাষায় শূন্য পয়েন্টার দিয়ে NULL পয়েন্টারকে আলাদা করুন


নাল পয়েন্টার এবং ভয়েড পয়েন্টারের মধ্যে পার্থক্য হল নাল পয়েন্টার হল একটি মান এবং শূন্য পয়েন্টার হল একটি প্রকার৷

শূন্য পয়েন্টার

একটি নাল পয়েন্টার মানে এটি কিছু নির্দেশ করছে না। যদি, পয়েন্টারে বরাদ্দ করা কোনো ঠিকানা না থাকে, তাহলে সেটিকে শূন্য করে দিন।

একটি পয়েন্টার টাইপ, যেমন, int *, char * প্রতিটির একটি নাল পয়েন্টার মান থাকে।

সিনট্যাক্স নিম্নরূপ -

<data type> *<variable name> = NULL;

উদাহরণস্বরূপ,

int *p = NULL;
char *p = '\0';

উদাহরণ প্রোগ্রাম

NULL পয়েন্টার -

-এর জন্য C প্রোগ্রাম নিচে দেওয়া হল
#include<stdio.h>
int main(){
   printf("TutorialPoint C Programming");
   int *p = NULL; // ptr is a NULL pointer
   printf("\n The value of pointer is: %x ", p);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

TutorialPoint C Programming
The value of pointer is: 0

অকার্যকর পয়েন্টার

একটি অকার্যকর পয়েন্টার আর কিছুই নয় যার সাথে এটির কোনো ডেটা টাইপ নেই। এটি একটি সাধারণ উদ্দেশ্য পয়েন্টার হিসাবেও বলা হয়। এটি যেকোনো ডেটা টাইপের ঠিকানা ধরে রাখতে পারে।

Thee সিনট্যাক্স নিম্নরূপ -

void *<data type>;

উদাহরণস্বরূপ,

void *p;
int a; char c;

p =&a; //p পূর্ণসংখ্যা পয়েন্টারে পরিবর্তিত হয় যেহেতু পূর্ণসংখ্যার ঠিকানা এটিতে বরাদ্দ করা হয়

p =&c; //p ক্যারেক্টার পয়েন্টারে পরিবর্তন হয় কারণ অক্ষরের ঠিকানা এটিতে বরাদ্দ করা হয়

উদাহরণ

শূন্য পয়েন্টার -

-এর জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
int main(){
   int a = 10;
   void *ptr = &a;
   printf("%d", *(int *)ptr);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

10

  1. বিভিন্ন পয়েন্টার অপারেশন এবং সি ল্যাঙ্গুয়েজে পয়েন্টার নিয়ে সমস্যা কি?

  2. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা কর

  3. সি ভাষায় ইউনিয়নকে পয়েন্টার ব্যাখ্যা কর

  4. সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর