c - 请解释 sizeof() 的输出

标签 c sizeof

我是 c 编程的新手,我正在尝试理解 sizeof 函数。

请帮助我理解这个程序是如何工作的:

#include<stdio.h>
main( )
{
    printf ( "\n%d %d %d", sizeof ( '3'), sizeof ( "3" ), sizeof ( 3 ) ) ;
}

我得到的输出为 4 2 4

但是,我无法理解获得此输出的原因。 请解释一下。

最佳答案

  1. sizeof ( '3'),它是 character constant 的大小,它是 int 所以你得到的值是4 在你的机器上。

  2. sizeof ( "3"),它是字符串的大小,即 2
    字符串"3"由2个字符组成('3'+'\0') = "3"。我们知道sizeof(char) 是 1。

  3. sizeof ( 3 ),它是 int 的大小,在您的机器上是 4

    <

关于c - 请解释 sizeof() 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416703/

相关文章:

c - 这条代码行是做什么的?

c++ - 什么是 sizeof(something) == 0?

C 程序 - sizeof string with\0 个字符

c - sizeof 没有显示预期的输出

c - 发送字符数组作为参数?

c - 编译器读取代码有什么特定的速度吗?

c - memcmp 的隐式声明在 c99 中无效

c - %.*s 在这个程序中有什么用

c - gcc 在某些数组前/后增量情况下的奇怪行为(已编辑)

c++ - 计算创建为双指针的两个暗数组的大小