转自:http://blog.csdn.net/truexf/article/details/17303263一、vectorvector采用一段连续的内存来存储其元素,向vector添加元素的时候,如果容量不足,vector便会重新malloc一段更大的内存,然后把原内存中的数据memcpy到新的...
分类:
编程语言 时间:
2015-07-31 10:14:40
阅读次数:
157
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251node *head=(node*)malloc(sizeof(node));for(int i=0; inext[i] = NULL; head->sum = 0;}可以改成node *hea.....
分类:
其他好文 时间:
2015-07-31 10:13:26
阅读次数:
117
比较malloc/free和new/delete??涉及到内存分配时,经常用到malloc与free.malloc与free是C++/C的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。??对于非内部数据类型的对象而言,光用 malloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于 malloc/...
分类:
其他好文 时间:
2015-07-30 23:29:23
阅读次数:
115
char *p,*start,*end,*temp,c; int count = 0,i =0 ; p = (char *)malloc(21 * sizeof(char)); printf("请输入要反转的字符串:\n"); while ((c = getchar() )!= '\n') ...
分类:
其他好文 时间:
2015-07-30 16:46:13
阅读次数:
108
C++内存分配的区: 1.栈:程序运行时分配的,局部变量,以及传入的参数等存储的地方,在程序结束的时候会回收 2.堆:new分配,由delete释放 3.自由存储区:malloc分配 4.全局/静态存储区:全局变量或静态变量存储的地方 5.常量存储区:存储常量的地方,不允许修改堆和...
分类:
编程语言 时间:
2015-07-30 12:51:20
阅读次数:
146
1.ARP欺骗是基于什么原理实现的?2.C语言中的malloc和C++中的new有何区别?3.简述TCP建立连接断开连接的过程4.聊一聊对于JAVA-GC的理解5.linux的命令ls|grep怎么作用的6.对一个没有排序的数组,用二分法查找,会怎么样?7.给出二叉树中序,后序遍历,请还原二叉树,并...
分类:
其他好文 时间:
2015-07-29 22:51:55
阅读次数:
119
内存五大区域 //栈
int a=10;
NSLog(@"%p",a);
//堆
int *p=malloc(40);
NSLog(@"%p",p);
//全局
static int b=10;
NSLog(@"%p",b);
//常量
char *str="iphone";
NSLog(@"%p",str...
分类:
移动开发 时间:
2015-07-28 21:14:15
阅读次数:
201
1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte):...
分类:
其他好文 时间:
2015-07-28 20:15:19
阅读次数:
73
-(void)getSystemInfo{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = (char*)malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSStri...
分类:
移动开发 时间:
2015-07-28 18:37:50
阅读次数:
166
程序变量分区中栈和堆的区别(1)申请方式stack: 由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间。heap: 需要程序员自己申请,并指明大小,在C中malloc函数,C++中是new运算符。如p1 = (char *)malloc(10); p1 = ...
分类:
其他好文 时间:
2015-07-28 18:01:56
阅读次数:
133