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

เหตุใดตัวชี้ NULL จึงถูกกำหนดแตกต่างกันใน C และ C ++


ใน C ++ ตัวชี้ค่าว่างสามารถกำหนดได้โดยค่าคงที่ตัวชี้ null คือนิพจน์ค่าคงที่จำนวนเต็มที่มีค่า 0 เช่น -

int*p =0;

แต่ใน c ตัวชี้ null สามารถกำหนดได้โดยเนื่องจากค่าคงที่ตัวชี้ null คือนิพจน์ค่าคงที่จำนวนเต็มที่มีค่า 0 หรือนิพจน์ดังกล่าวเปลี่ยนเป็นโมฆะ* เช่น −

Int *p =0;;

หรือ

int*p =(เป็นโมฆะ*) 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.