摘要:
Free函数的参数一定要是malloc返回的那个指针之前认为只要free的参数在malloc分配的区域之内就可以了, 现在发现不对的。在嵌入式里分配堆都是按照块来的,只要在这个块内系统就能识别,也就能正常free。现在看来vc中的free函数要求必须是malloc返回的那个指针,即可用数据区的首地址。个人总结在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一 阅读全文
摘要:
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎各位指正啊1. 定义:sizeof是何方神圣sizeof乃C/C++中的一个操作符(operator)是也,简单的说其作用就是返回一个对象或者类型所占的内存字节数。MSDN上的解释为:The sizeof keyword 阅读全文
摘要:
This section describes the random number functions that are part of the ISO C standard.To use these facilities, you should include the header file`stdlib.h'in your program.Macro:intRAND_MAXThe value of this macro is an integer constant representing the largest value therandfunction can return. I 阅读全文
摘要:
标准库(被包含于中)提供两个帮助生成伪随机数的函数:函数一:intrand(void);从srand(seed)中指定的seed开始,返回一个[seed,RAND_MAX(0x7fff))间的随机整数。函数二:voidsrand(unsignedseed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候,它会查看:1) 如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始值。2) 如果用户在此之前没有调用过srand(seed),它会自动调用srand(1)一次 阅读全文