为什么在C和C ++中对NULL指针的定义不同?
在C++中,可以将null指针定义为null指针常量是值为0的整数常量表达式,例如-
int*p=0;
但是在c中,可以将null指针定义为null指针常量,它是一个值为0的整数常量表达式,或者是将此类表达式强制转换为void*的表达式,例如-
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.