大家给讲讲Null,NULL,还有AnsiString的""等几个的区别

阿鹏兄 2003-08-20 03:06:27
注意大小写
...全文
55 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿鹏兄 2003-08-22
  • 打赏
  • 举报
回复
我说的对不对?请大家指点
阿鹏兄 2003-08-21
  • 打赏
  • 举报
回复
bcb里有Null,因为bcb是继承vcl(object pascal)
Alpha_Gu 2003-08-21
  • 打赏
  • 举报
回复
bcb里沒有Null,只有NULL.

阿鹏兄 2003-08-21
  • 打赏
  • 举报
回复
我补充一下,在object pascal里Null可以给Variant变量赋值,表示 unknown or missing data
Santos 2003-08-20
  • 打赏
  • 举报
回复
binbin(MM你好)

写的太明白了。
xizhouhawk 2003-08-20
  • 打赏
  • 举报
回复
一楼写的我没啥写的了
sprewellkobe 2003-08-20
  • 打赏
  • 举报
回复
#define NULL 0;

看一楼的!
appleboyallen 2003-08-20
  • 打赏
  • 举报
回复
一楼写的好
hellobcb 2003-08-20
  • 打赏
  • 举报
回复
NULL是c里定义的一个宏;
#define NULL 0;
windlyzhang 2003-08-20
  • 打赏
  • 举报
回复
楼上将的这么清楚,那我们不是没饭吃了!
呵呵。。。。

搂主的问题解决了吧!
binbin 2003-08-20
  • 打赏
  • 举报
回复
完全是不同的概念,好象没有什么可比性啊.
NULL应该是一个宏而不是C/C++的一个类型,值就是0,一般用来初始化指针,对于C/C++这种用字符指针(数组)来表示字符串的语言来讲,可能会产生一些误解吧.字符串操作函数一般都用NULL来检测字符串是否合法或一个字符串是否结束.
Null好象没有听过啊,谁告诉我.
AnsiString是一个类,""代表其内部保存的字符串为空,但可以用c_str()获取其内部字符串的地址,该地址不会为NULL的.所以跟NULL是两回事.
比如你可以
AnsiString* a=NULL;//该对象指针没有分配内存(没有AnsiString对象)
AnsiString b="";//生成一个AnsiString对象,但内容为空
char* c=NULL;//一个字符指针
char d[10];//一个字符数组
d[0]=NULL;//让第一元素为0实质使用字符串函数认为字符串为空串
上面的c指向的地址为空,而d的地址不会为NULL,但首元素为NULL,可以认为是空串.

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧