Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283818
  • 博文数量: 41
  • 博客积分: 2630
  • 博客等级: 少校
  • 技术积分: 702
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-30 15:56
文章分类

全部博文(41)

文章存档

2012年(2)

2011年(2)

2010年(3)

2009年(26)

2008年(8)

我的朋友

分类: C/C++

2009-08-20 22:01:00

C/C++中'\0'作为字符串结束标志使用,具有唯一性,与'0'是有区别的。
在网络编程中的字符数组一般初始化为'\0'串,如:
char url[256] = {'\0'};
这样在对获取的字符串进行处理时就方便些。

实际上,0在C语言中可以有多重意义,如空字符、空指针、整形0、浮点0...
但良好的风格是0只作为整数常量,NULL为空指针,0.0为浮点0,'\0'为空字符。

测试程序:

#include <iostream>
using namespace std;

int main()
{
    char a = '0';
    char b = '\0';
//等价于char b = 0;
    cout << a << "," << b << "," << boolalpha << (a==b) << endl;

//输出:0, ,false

    int i = 0;
    int j = '\0';
    cout << i << "," << j << "," << boolalpha << (i==j) << endl;

//输出:0,0,true

    return 0;
}

阅读(1723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~