基于“C语言中动态分配内存空间”的浅思:
实现“动态分配空间”无非是“malloc”,“realloc”,
但说其动态,并不是真正意义的“动态”(在原有基础上操作,如链表)
因为使用malloc是因为原来定义的空间不够用了,而用其扩充储存,
malloc是重新开辟一部分比原来大的空间,并且将原来空间中内容(橙色部分)复制到新开辟的空间(黄色部分)中,并且用free函数来释放原来的空间(橙色部分)。
如图:
基于“C语言中动态分配内存空间”的浅思:
实现“动态分配空间”无非是“malloc”,“realloc”,
但说其动态,并不是真正意义的“动态”(在原有基础上操作,如链表)
因为使用malloc是因为原来定义的空间不够用了,而用其扩充储存,
malloc是重新开辟一部分比原来大的空间,并且将原来空间中内容(橙色部分)复制到新开辟的空间(黄色部分)中,并且用free函数来释放原来的空间(橙色部分)。
如图: