注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

旷世的忧伤

不与夏虫语寒,不与曲人语道,因为生命缺乏言说的条件......

 
 
 

日志

 
 

C语言中字符串指针NULL与空字符串的区别  

2014-12-23 21:44:55|  分类: C语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
所谓字符串指针NULL是指:

char *str = NULL;

即让字符串指针的值为NULL。这里表示指针没有指向有效的地址,即指针无效。对其求长度 strlen(str) 时会出现段错误。

所谓空字符串是指:

char *str = "";

即仅有一对双引号的字符串。这里表示字符串的内容为空,对其求长度 strlen(str) 时结果为0。


例:

char *str1 = NULL;

char *str2 = "";
//printf("len: %d\n", strlen(str1)); // 会出现段错误
printf("len: %d\n", strlen(str2));
printf("p: %p\n", str1);
printf("p: %p\n", str2);

输出结果为:

len: 0
p: (nil)
p: 0x8048540

  评论这张
 
阅读(3)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017