10.2 动态分配内存
分配内存
如果使用指针指向命名好的内存空间,例如:
int num = 8;
int* ptr_num = #
那么在编译时就已经开辟了内存空间。
如果使用指针指向new 数据类型,例如:
int* ptr_int = new int;
则是在运行的过程中,运行到该行时,指向新开辟的内存空间,实现动态内存分配。
*注意:*一定要注意delete的方法;尽量不要用两个指针指向同一块内存空间,容易出错。
动态分配的数组
注意:delete [] 和非数组释放内存delete不一样
补充:程序的内存分配
注意:堆区一定要主动释放,否则可能会导致内存泄漏。
指针二维数组
int (*p)[4] = new int[3][4]
注意:第二维中的数字要保持一致。
也可以指向已有数组: