文章分类 -  C/C++

new 和delete的区别
摘要:转自:http://www.cnblogs.com/fly1988happy/archive/2012/04/26/2471099.html1. new与operator newC++中有很多语法让人难以理解,如:new operator(操作符,下同)和operator new之间差异,确切的说,应该是new与operator new 的区别。1.1 new operator如下代码:string *ps=new string("memory management");这里所使用的new就是所谓new operator,是由C++语言内建的,就像sizeof那样,不能改变 阅读全文

posted @ 2012-05-01 23:54 矮人狙击手! 阅读(343) 评论(0) 推荐(0)

malloc与new的区别
摘要:转自:http://www.cnblogs.com/fly1988happy/archive/2012/04/26/2470542.html1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes);说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.2 void *malloc(int size);说明:malloc 向系统申请分 阅读全文

posted @ 2012-05-01 23:47 矮人狙击手! 阅读(138) 评论(0) 推荐(0)

c语言中rand()函数怎么用?
摘要:转自:http://www.cppblog.com/noflybird/archive/2009/03/11/76194.aspxrand(产生随机数)相关函数srand表头文件#include<stdlib.h>定义函数int rand(void)函数说明rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。返回值返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为21474 阅读全文

posted @ 2012-05-01 20:55 矮人狙击手! 阅读(12835) 评论(0) 推荐(0)

指针初始化等问题
摘要:转自:http://www.cnblogs.com/uniqueliu/archive/2011/07/16/2108302.html对指针进行初始化中的若干问题的思考与反思 我们在最开始定义一个指针的时候,最应该做的就是先将这个指针变量进行初始化,以防止它变成“野指针”。初始化的方式很简单,就是将0赋给这个指针变量:?int *p=0; 如果我们用上面这条语句对指针进行初始化,那么编译器就会自动为我们把指针p中的值设置成0x00000000。(注意,一共有8个0哈,原因就是因为0是int型变量。该变量的字节数就是8个~~~)但是,大家有没有想过,如果我们不这样初始化这个指针,而采用下面的方法 阅读全文

posted @ 2012-04-21 21:09 矮人狙击手! 阅读(205) 评论(0) 推荐(0)

void指针,NULL指针,未初始化的指针
摘要:.void的使用转自:http://dev.yesky.com/340/2517340_1.shtml 下面给出void关键字的使用规则: 规则一如果函数没有返回值,那么应声明为void类型 在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:add ( int a, int b ){return a + b;}int main(int argc, char* argv[]){printf ( "2 + 3 = %d", add ( 2, 3) );} 程序运行的结果为输出: 2 + 3 = 5 这说明不加返 阅读全文

posted @ 2012-04-21 20:46 矮人狙击手! 阅读(1533) 评论(0) 推荐(0)

导航