字符串文字的大小
给定的代码演示了 sizeof 运算符在不同类型的字符串常量上的用法。输出显示字符串文字的大小 sizeof("f") 与指向字符串文字的指针的大小 (sizeof(foo)) 以及字符数组的大小 (sizeof(bar) )).
为什么 sizeof 计算字符串文字的长度?
sizeof 运算符计算其操作数的大小字节。对于字符串文字,操作数是相应的字符数组表示形式,包括终止空 (' ') 字符。这解释了 sizeof("f") 的 2 输出,因为它考虑了 'f' 和 ' ' 字符。
当给 sizeof 时,字符串文字是否有不同的类型?
没有。字符串文字的类型为 const char[N],其中 N 是字符串的长度,包括终止空字符。但是,当将字符串文字传递给 sizeof 运算符时,它会将字符串视为 const char* 类型的表达式,该类型是指向字符的指针类型。这解释了 sizeof(foo) 的 4 的输出,因为它是 32 位机器上指针的大小。
其他要点:
以上是为什么'sizeof”对字符串文字、指针和字符数组产生不同的结果?的详细内容。更多信息请关注PHP中文网其他相关文章!