#include <cstddef>
#include<stdio.h>
int main()
{
int *p;
/*
c语言和c++对大小写是敏感的,
也就是说null和NULL是区别对待的。NULL代表空地址,null只是一个符号。
其实null和NULL都是字符串,看你把它们,宏copy定义为什么值,
在VS中NULL被定义为0,因为习惯上把宏定义的所有字符都大写,当
把NULL它赋值给指针时意思为空,当然你也可以把null定义为0了,
都一样的啦!它们都没定义时都只能叫符号了,定义后就有另外的意思了,
你把0直接赋值给给指针也行,只要指针指向0就为空啦!
其实NULL在有些编译器中是赋为0了,这时你不能再去#define定义它zd了,否则就重定义了!
*/
p=NULL;//p=null 会编译出错
int a=12;
p=&a;
/*
%p 是以16进制的形式输出内存地址。
%x 也是以16进制的形式输出内存地址。
不过%p的输出字符为8个前2个为00。
%x只有6个。
*/
printf("p=%p\n",p);
printf("p=%x\n",p);
printf("*p=%d\n",*p);
return 0;
}
c语言中 null 和NULL的区别 %p和%x的区别 在dvc++运行
最新推荐文章于 2024-05-14 20:15:00 发布