c로 짜는데

pptr = (char**)malloc(1000);
for( i; 1000;)
pptr[i] = (char*)malloc(sizeof(buffer));

대충 이런 코드인데

항상 639번째에서인가 할당 실패하네

어떻게 해결해야할까..