c - 默认类型 signed、unsigned、const 和 volatile

标签 c sizeof

运行以下代码:

int main()
{
    int a = sizeof(signed) + sizeof(unsigned);
    int b = sizeof(const) + sizeof(volatile);

    printf("%d",a+++b);

    return 0;
}

在 Visual C++ 中,我得到的输出为 16。默认数据类型是 signedunsignedconst volatile 被认为是 int

最佳答案

不仅仅是这些限定符,C语言的默认类型是int。因此,如果您不在某处指定数据类型,编译器将假定为 int

例如,如果你不声明一个函数并使用它,编译器会给你一个警告并假定该函数返回 int。

关于c - 默认类型 signed、unsigned、const 和 volatile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12640015/

相关文章:

c - 为什么我无法检查 C 中结构体的大小? (未声明的错误)

c++ - 为什么结构体的 sizeof 不等于每个成员的 sizeof 之和?

c++ - 为什么结构体的 sizeof 不等于每个成员的 sizeof 之和?

c - accept 语句在两个看起来相似的不同代码中返回两个不同的值?

c - 将字符串返回到需要在屏幕上打印的 C 程序形式的 Bash 脚本

c - 监听线程不打印语句

c - C 成绩簿中的错误

c - 对 switch 语句使用不同的语法时,优化是否有任何可能的变化?

c++ sizeof在以下位置给出错误未处理的异常

c++ - 为什么我不能对另一个类的静态 char[] 执行 sizeof?