字符串长度问题

kevinuouo 2010-09-07 02:20:14
char str[ ]= "Hello";
char *p=str;
sizeof(str)=( )
sizeof(p)=( )

str的长度是6,这个我理解,但是我程序调试后,发现sizeof(p)=4????为什么呢
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xx12xx12 2010-09-07
  • 打赏
  • 举报
回复
sizeof(p) 是指针p的长度 不是所指字符的长度
如要取得字符的长度 则用strlen(p)
luzhiwei512 2010-09-07
  • 打赏
  • 举报
回复
指针类型4B
justkk 2010-09-07
  • 打赏
  • 举报
回复
sizeof是计算的数据类型的长度,而非数据的长度
p是指针,在32位环境中,指针类型的长度就是4

如果计算数据的长度,可以使用strlen()
昵称很不好取 2010-09-07
  • 打赏
  • 举报
回复
32位平台,指针的长度都是4

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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