কম্পিউটার

কেন NULL পয়েন্টারগুলি C এবং C++ এ আলাদাভাবে সংজ্ঞায়িত করা হয়?


C++ এ, একটি নাল পয়েন্টারকে একটি নাল পয়েন্টার ধ্রুবক হিসাবে সংজ্ঞায়িত করা যেতে পারে একটি পূর্ণসংখ্যা ধ্রুবক রাশি যার মান 0, যেমন −

int*p =0;

কিন্তু c-তে, একটি নাল পয়েন্টারকে একটি নাল পয়েন্টার ধ্রুবক হিসাবে সংজ্ঞায়িত করা যেতে পারে একটি পূর্ণসংখ্যার ধ্রুবক রাশি যার মান 0 বা এই ধরনের একটি অভিব্যক্তি অকার্যকর*, যেমন −

Int *p =0;;

অথবা

int*p =(void*) 0;

C++11-এ একটি কীওয়ার্ড "nullptr" nullpointer প্রতিনিধিত্ব করতে ব্যবহৃত হয়।

int* ptr =nullptr;

C তে

উদাহরণ

#include <stdio.h>
int main() {
   int *p= NULL; //initialize the pointer as null.
   printf("The value of pointer is %u",p);
   return 0;
}

আউটপুট

The value of pointer is 0.

C++ এ

উদাহরণ

#include <iostream>
using namespace std;
int main() {
   int *p= NULL; //initialize the pointer as null.
   cout<<"The value of pointer is ";
   cout<<p;
   return 0;
}

আউটপুট

The value of pointer is 0.

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

  2. একটি পয়েন্টার ভেরিয়েবল এবং C++ এ একটি রেফারেন্স ভেরিয়েবলের মধ্যে পার্থক্য কী?

  3. কেন আমরা C++ এ সীমাবদ্ধ কোয়ালিফায়ার ব্যবহার করি?

  4. C# এ পয়েন্টার কি?