mshd.net
当前位置:首页 >> sizEoF 4. >>

sizEoF 4.

如果是int a[10]; 然后再sizeof(a)/4的话就是求数组中元素的个数 sizeof是求数组所占内存空间的大小,而数组中元素都是整型的,1个整型占4B,所以除以4后自然是求出的元素个数

假设某数据类型的一个变量占 N 字节,那么该数据类型的指针,所指向的地址,是这个 N 个字节中最小单元的地址,说通俗点就是起始地址。。而不是说记录了 N 字节的所有地址。。 所以指针大小就是这个起始地址的大小,取决于计算机的字长。。 32位...

a 是一个数组,有9位int型 sizeof(a) 就是 a整个的存储字节数 就是 9*4=36 *a相当于a[0] 就是一个存储单元的内容 sizeof(*a) 就相当于 sizeof(int) =4

1、sizeof()返回的是string对象所占用的空间,而不是string所存储的字符串的大校 2、string的实现在各库中可能有所不同,但是在同一库中相同的一点是,无论string里放多长的字符串,它的sizeof()都是固定的,字符串所占的空间是从堆中动态分配的...

以前的编译器多为16位int格式,现在大都是32位int格式了。32位int格式的编译器,定义int和long都是4字节,所以你得到的结果正确,都是4。

指针在计算机中存储的是数据的地址是 int 类型的,长度永远是4,不管是什么类型的指针。

这个牵涉到隐身转换得问题,‘a’为字符,单独得sizeof('a'),字节数=1,但是sizeof9(‘a’+2),这个'a'由char 提升到int,结果就是sizeof(int)

因为所有的指针都是存放地址值 而地址值都是int类型的 所以sizeof(p)==4 定义char 是说里面存放的内容是char类型 所以sizeof(*p)==1

sizeof("") 返回字符串占的空间大小,因是个空串,只有一个字符\0,所以返回1,即占一个字节空间 sizeof(' ') 返回字符常量' '所占空间大小,C语言中字符常量被系统视作int类型数据,所以返回4,即占4个字节空间. 而C++中会返回1

因为你直接求了'$'这个常量,它存放在常量区,计算的时候只传了地址过来,结果当然是4,如果你计算p=sizeof(sign),那就等于1了。

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com