日期:2014-05-16 浏览次数:20759 次
#include <stdio.h> #include <stdlib.h> #include <assert.h> #include <string.h> #include <crtdbg.h> void main( void ){ int *p, *pi; int i = 2; int j; p = (int *)malloc(sizeof(int) * i); assert(p != NULL); for(j=0; j<i; j++){ p[j] = j; } for(j=0; j<i; j++){ printf("p[%d]=%d\n", j, p[j]); } puts("\n"); pi = (int *)malloc(500); p = (int *)realloc(p, sizeof(int) * 2 * i); assert(p != NULL); for(j=i; j<i*2; j++){ p[j] = j*2; } for(j=0; j<2*i; j++){ printf("p[%d]=%d\n", j, p[j]); } free(p); free(pi); if(_CrtDumpMemoryLeaks()){ printf("leak\n"); } }