`sizeof(int)` 和 `sizeof(long)` 依然返回4,主要是因为C和C++语言标准以及平台的ABI(应用二进制接口)规范。### 1. C和C++语言标准 C和C++语言标准对数据类型的大小有一定的规范,但这些规范并没有规定确切的字节大小,而是规定了各类型之间的相对大小关系。例如,C标准规定:- `sizeof(char) <= s
总结一下,sizeof(int)还是4字节是因为:兼容性:程序向下兼容是必须的,你总不能写个64位的int,然...
1, 0 是一个逗号表达式,返回的是后者,也就是0,0是int类型的,因此sizeof一个整型就是4
以前的编译器多为16位int格式,现在大都是32位int格式了。32位int格式的编译器,定义int和long都是4字节,所以你得到的结果正确,都是4。
为什么是 4 个字节?这是因为计算机设计的时候就这么规定,要保证能存下足够范围的整数。我想想,要是没有这个规定,那整数能存的范围一会儿大一会儿小,程序不就乱套。 再说说 double 类型,这可是用来存小数的。它在内存里占 8 个字节,比 int 可大多了。为什么?因为小数要表示的精度范围更广,得有足够的空间来存...
总结来说,即使在64位系统和使用64位编译器的情况下,int和long的大小也可能只有4字节,这取决于编译器...
这是因为`int`类型在许多平台上通常占用4个字节。 如果您想获取`char`类型的大小,可以使用`sizeof(char)`。 根据C语言规范,`sizeof(char)`的结果始终为1, 因为`char`类型始终占用1个字节。 要打印字符的大小,请改为使用`sizeof(char)`,例如: ```c printf("%zu", sizeof(char)); ``` 这将打印出`...
因为将数组传递到函数里后,数组就退化为指针了,也就是说只有在定义数组的那个函数里才能得到数组的sizeof。以下几种写法是等价的:void f(int *a);void f(int a[]);void f(int a[10]);void f(int a[100]); // 这个数字是没用的,会被忽略掉void f(int a[20][10]); // 但这个...
1. sizeof int ,结果为4,说明 sizeof说明他不是一个函数。2.siezof(int )是关键字,为什么分开标记,比方 int i;int i,j;使用空格、逗号区分关键字和操作对象, 请测试 int(i),你很惊 奇的发现这句话竟然可以编译通过没有报错,这句话的作用是相当于 int i,原因如下,int i,我们...