首页 > 编程知识 正文

字符串为空和null的区别,null和空字符的区别

时间:2023-05-06 02:40:43 阅读:178564 作者:2983

【1】空白字符空格字符【字符】【2】空白字符串【3】NULL的差异

1.1字符(1)首先,必须明确字符类型(char )是整数类型,作为整数存储在存储单元中。

)然后,char类型被产生以存储字母、数字、标点符号和非打印字符。

)3)为了便于处理文字,用特定的整数表示特定的文字,即我们看到的代码。 实质上是转换替代的思想,用这种代码记述文字最常用的是ASCII码。

1.1.1空白字符空白字符:字符串结束标志((0) ),实际上他的数值为0。 可以理解为象征性的字型,其使命主要是为了表示字符串结束。

空格字符:空格字符(单引号之间有空格)的ASCII代码。十进制32、十六进制0X20

两者的区别:

最直观的区别:值不同的两个ASCII不同,空字符的代码值为0,空格字符的代码值为32。 另外,空文字人为地规定了其使命。

附:‘0’的ASCII是48。 请不要和前面的两个混淆。 三者是完全不同的概念,本身的整数值不同,代表的文字也不同。

1.2字符串字符串:字符串是字符类型的派生类型(char数组)。 字符串中使用的字符串必须以空白字符“ 0”结束,因此所有字符串都必须包含一个空白字符。 当然空字符串“”也不例外。

因为文字和字符串是两种不同的类型,所以也很容易区别,但在这里并不罗嗦。

1.3空:的值为0,为空。 NULL是空地址,不占用字节。 主要用于为指针赋值。 其实是0号。 这个地址不能用c语言访问。 访问发生异常。 NULL一般用于初始化指针变量。 例如:

char *str=NULL; 表示该变量未指向有效的内存区域,避开野点。

#includestdio.hint main () {char d=NULL; printf(%c(n ),d ); printf (空ASCII代码值: %d(n ),d ); if(null==' ' ) (printf )真); }return 0; () ) ) ) )。

请注意以下事项:

)1)从Stdio.h中可以看出,在c中NULL为(int ) 0,而在c中NULL为) void* ) 0。 由此可知,在c和c中,空宏的值不同。

)2) c程序中NULL=='”为真是因为''也是数值0,两者不是同一意思,请不要混淆。

(3)NULL可以赋值给任意类型变量,相应值为空

(4)为编程规范,在定义指针时,一般需要初始化,常用NULL来初始化。

int *p=NULL,与直接定义int *p相比,int *p未初始化,p是野生指针,保存随机值的int *p=NULL已初始化为指向空指针。

int *p=NULL等价于int *p=0,p的值为0x00; int * q,q的值是随机值。

带字符串的输出示例:

/* Jason gel 2015-8-29 */# include stdio.hint main () { char * p=' Jason gel Jin 13277480598 '; char * q=空; if(q==''q==0) printf )在ASCII代码中,' null '为0,并且为空字符n ' ); //while () p!=' ' () /以下两种写法等价; 与//*具有同等优先级,但从右向左合并,由于后缀的形式,检索到指向p的数据并打印,增加指针1while () p )!=0(//while(p )的话!=0)时,不打印字符串的第一个字符(printf )“%c”,*p ); }printf((n ); 返回0; () ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。