本站动态:
关于内存的申请和使用
作者:shosh 日期:2008-06-05
其实malloc只需要你告诉它你需要malloc多少个字节的内存空间,至于这个内存空间malloc出来之后你会干什么,它并不知道,也不去管。参数中多使用sizeof来计算,这样不管什么样的环境(如不同的cpu,不同的结构体对齐方式)都可以高枕无忧。我要说的是,malloc很老实,你让它给你分配多少个字节的内存空间,它就会给你分配多少个字节的连续的内存空间,除非内存不足。它的返回值类型是void*,也就是说,你可以随便转化,甚至可以决定使用这块内存的哪一部分(比如为了判断内存有没有越界,在分配时故意多分配两个字节,最前面一个字节和最后面一个字节不真正使用,而放一个特殊的值,用以校验),也可以把这块内存分成好几个小块来使用,比如前面一块放普通的数据,后面的一块放函数指针(或倒过来),规则是右你来定的,只要你在使用过程中一直遵守这样的规则就好。







