永发信息网

请问C++中#define NULL 0与#define NULL ((void*)0)有什么区别?都是指空指针吗?

答案:2  悬赏:30  手机版
解决时间 2021-03-10 21:17
  • 提问者网友:留有余香
  • 2021-03-10 05:24
请问C++中#define NULL 0与#define NULL ((void*)0)有什么区别?都是指空指针吗?
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-03-10 06:03
应该说都是空指针,但是差别在于,前者是一个数值0,一般认为是整数型数值0;而后者已经另外强制的指定了类型属性,那就是一个void型的指针。前者在赋值给某个指针(包括void型指针)时,通常会有警告(因为C语言虽然允许把一个整数值赋值给一个指针,但类型毕竟不一致);而后者如果被赋值给一个void型的指针时不会有任何警告(因为类型一致),但赋值给其他类型的指针式也是会有警告的。
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-03-10 07:16
这些数都是这些按键对应的扫描码,你上网搜一下“扫描码表”就知道了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯