| 1 | malloc、calloc、free、_alloca |
| 123456789101112131415161718 | #include<stdio.h>#include<stdlib.h>int main(){inti;int*pn=(int*)malloc(5*sizeof(int));PRintf("malloc%p/n",pn);for(i=0;i<5;i++)pn[i]=i;pn=(int*)realloc(pn,10*sizeof(int));printf("realloc%p/n",pn);for(i=5;i<10;i++)pn[i]=i;for(i=0;i<10;i++)printf("%3d",pn[i]);free(pn);return 0;} |
| 12345678910111213141516171819202122 | //realloc.c#include<syslib.h>#include<alloc.h>main(){char*p;clrscr();//clearscreenp=(char*)malloc(100);if(p)printf("MemoryAllocatedat:%x",p);elseprintf("NotEnoughMemory!/n");getchar();p=(char*)realloc(p,256);if(p)printf("MemoryReallocatedat:%x",p);elseprintf("NotEnoughMemory!/n");free(p);getchar();return 0;} |
| 123456789 | #include<malloc.h>voidmain(){char*p,*q;p=(char*)malloc(10);q=p;p=(char*)realloc(q,20);//A行,通过realloc扩大p的空间,并把新的地址赋值给p。//…………………………} |
新闻热点
疑难解答