c语言,c++,java,python区别,c语言c++和c#区别
代码中每创建一个变量,程序运行时内存中存储这些值的空间就会被打开,所以写程序时创建的变量越少越好。不积小流,不成大器——荀子。
存储方式:
值类型存储在内存中的栈中。
参考类型存储在内存的堆中。
静态存储区的静态类和变量存储在内存中。
值类型有哪些?
整数
双精度小数
Char(1(一个字符))。
Decimal(十进制)。
Bool(令人担忧的香水))。
枚举)。
结构)
等待.
引用类型有哪些?
讽刺
排列
自定义类别
聚集
目标
港口
等待.
值类型内存分配:
值类型存储在堆栈中。
int i=50
)的0x2489代表内存中的地址,在鲤鱼夕阳中存储50。即使值改变了,内存地址也不会改变,原来的值会被覆盖。这是值类型的内存分配。
写下如何分配内存,同时打开一个新的区域或指向一个内存。
int a=20
int b=a;
两个地址之间的差异表明开辟了一个新的空间。
引用类型内存分配:
引用存储在堆中,
String s="繁荣与民主"
堆栈的地址指向堆中的地址。
其中,弦乐比较特殊。每次字符串再次被替换时,它不是覆盖原始值,而是打开一个新的存储空间。
String a="繁荣与民主"
A="文明的和谐"
A="自由和平等"
String a="1 "
a="2 "
a="3 "
a="4 "
每次改变堆地址,都会打开一个新的内存,你会看到它没有被覆盖。
字符串a="123 "
字符串b="123 "
因为内容是相同的,所以他在堆中使用相同的内存。
堆栈中的地址0X0058ee98
堆中的地址0X027c233c
可以看出,A和B的地址相同,指向同一个内存。
任何一个价值的方式改变,都会打开一个新的空间。
字符串a="123 "
字符串b="123 "
b="6 "
堆地址已更改。
静态存储区:
静态存储分别存储静态类或方法,受Static关键字限制的存储在静态存储中。它们在程序运行时打开空间,在程序结束时释放内存。可以通过对象名调用stat限定的内容,无需实例化。此外,常量(即不变的值),例如常数,存储在该区域中而不改变它们的值。
纯手打,点个赞呗~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。