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(); //clearscreen p=( char *) malloc (100); if (p) printf ( "MemoryAllocatedat:%x" ,p); else printf ( "NotEnoughMemory!/n" ); getchar (); p=( char *) realloc (p,256); if (p) printf ( "MemoryReallocatedat:%x" ,p); else printf ( "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。 //………………………… } |
新闻热点
疑难解答