静态数组:
静态数组的局部变量,不管数组元素是什么类型,其内存总是在栈上分配。因为栈的大小相对固定,如果静态数组占用的内存超过栈的总大小,将会出错。
动态数组:
动态数组变量只占用4个字节,其内存是在堆中动态分配的,在负偏移处保存着8字节的引用计数和长度计数。这中内存结构和长字符串的内存结构是一致的。
本文深入探讨了静态数组与动态数组的区别,静态数组作为局部变量,其内存分配在栈上,而动态数组则在堆中分配,仅占用4字节用于存储引用计数和长度计数,类似于长字符串的内存结构。
静态数组:
静态数组的局部变量,不管数组元素是什么类型,其内存总是在栈上分配。因为栈的大小相对固定,如果静态数组占用的内存超过栈的总大小,将会出错。
动态数组:
动态数组变量只占用4个字节,其内存是在堆中动态分配的,在负偏移处保存着8字节的引用计数和长度计数。这中内存结构和长字符串的内存结构是一致的。
转载于:https://www.cnblogs.com/Stwo/archive/2011/07/26/2116988.html
4391

被折叠的 条评论
为什么被折叠?