免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5736 | 回复: 0
打印 上一主题 下一主题

字符串指针如何分配空间? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-19 15:24 |显示全部楼层 |倒序浏览
在c语言中,我知道,可以用字符数组来保存字符串如:
  1. char p[]="ABCD";
复制代码
用sizeof(p)测试结果为5,因为最后有个数组结束符\0所以是5这我可以理解,这样代码打印p字符数组时就知道哪里结束。

现在遇到的情况是字符指针:
  1. char *c ="hello world";
  2. print (%s,c);
复制代码
上面可以打印出c这个字符指针指向的字串“hello world”,我用sizeof(c)测试结果为4,这是一个字符指针的大小。
我疑惑的是在打印c字符指针时如何知道这个“hello world”中d字符是最后一个字符?因为字符数组有‘\0’。字符指针
靠什么定义结束呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP