1、内存分区
堆
由程序员手动分配和释放;若程序员不释放,程序结束时由系统释放。
分配:malloc(C语言),new(C++)
释放:free(C语言),delete(C++)
分配方式类似数据结构中的链表。栈
由编译器自动分配和释放。
存放函数的参数值、局部变量的值等。
操作方式类似数据结构中的栈。全局存储区(静态存储区)
存放全局变量和静态变量。
包括DATA段(全局初始化区)和BSS段(全局未初始化区)。其中,在程序执行之前BSS段自动清0。文字常量区
程序代码区
数组
1、数组定义中的类型
数组定义中类型不能是引用,即没有引用数组,这是因为引用是不能赋值的,而数组中的元素必须可以被赋值。
虽然没有引用数组,但数组可以有引用。
2、数组的初始化
函数体内定义的内置类型数组,元素无初始化(若只初始化部分元素,其后的元素此时也会被初始化为0);
不是内置类型的话,就调用默认构造函数。
3、C风格字符串和字符数组
字符串必须要有Null结束,’\0’。遇到’\0’后字符串终止,所以不要有多