字符串“sizeof”的意外结果

2024-01-04

为什么 sizeof 在以下情况下会打印不同的值:

printf("%d",sizeof("ab")); //print 3

char* t="ab";
printf("%d",sizeof(t)); //print 4

在第一种情况下,我有 2 个角色......不应该sizeof打印2?因为它们是2个字节?


C 中的字符串以 null 结尾。

内存中的“ab”看起来像'a' 'b' '\0'

While t是一个指针,所以大小是4。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串“sizeof”的意外结果 的相关文章

随机推荐