日期:2014-05-16 浏览次数:20926 次
#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");
}
}