结果出现null怎么解决c语言 int和integer在内存中的区别?

[更新]
·
·
分类:互联网
3672 阅读

结果出现null怎么解决c语言

int和integer在内存中的区别?

int和integer在内存中的区别?

int和integer 占用内存一样,都是4个字节。
int与Integer的不同点:
1、int类基本数据类型,而Integer为引用数据类型。
2、int占4个字节,用于存储int类型的值, Integer占4个字节,用于存储Integer对象的内存地址。
3、作为成员变量时,int的默认值为0,Integer的默认为null。
4、Integer使用null表示没有创建Integer对象,使用0代表已创建对象,值为0,Integer i0;Integer inull;private int age 在写类的属性时,建议使用基本数据类型,因为只存#34值#34即可。
扩展资料
每个integer 32bit,也就是四个字节。integer在内存中有一个指向方法区里边类信息的指针,这个指针占用4bytes;另外integer中实例变量只有一个int类型的字段,所以为32位,4bytes。
在不考虑lock、wait set、gc相关信息占用的时候,如果是第一种方案,有4bytes的指向对象池的指针,一共是3*412bytes;如果是第二种实现方案,则是2*4-8bytes的指针。
Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。
标准C语言规定long int(长整型)是 4字节,short int(短整型)是2字节,没有规定int(整型)。大多数编译器自行规定int等价long int,少数编译器规定int等价short int,占用多大内存,也可以用 sizeof(int)求得。

C语言中是NULL什么意思?

在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值对于字符串的结尾,使用0,它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值在不同的系统中,NULL并非总是和0等同,NULL仅仅代表空值,也就是指向一个不被使用的地址,在大多数系统中,都将0作为不被使用的地址,所以就有了类似这样的定义#define NULL 0但并非总是如此,也有些系统不将0地址作为NULL,而是用其他的地址,所以说,千万别将NULL和0等价起来,特别是在一些跨平台的代码中,这更是将给你带来灾难。