在计算机的系统中有四个内存区域:
1)栈:在栈里面储存一些我们定义的局部变量以及形参(形式参数);2)字符常量区:主要是储存一些字符常量,比如:char *p_str=”cgat”;其中”cgat”就储存在字符常量区里面;3)全局区:在全局区里储存一些全局变量和静态变量;4)堆:堆主要是通过动态分配的储存空间。
什么时候要动态分配内存:
当你不确定内存空间大小的时候。。有2种办法。 1。预先定义一个足够大的空间。(这个比较浪费资源。而且随着程序的使用推广。预先定义的空间也不一定能完全满足条件) 2。动态的分配内存。可以做到准确分配空间大小。不浪费资源,而且也不会发生程序不断使用预先分配内存不足。 备注:动态分配的内存空间系统不负责自动回收,需要写代码手动释放。