#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main(int argc,char *argv[])
{
char **bb;
char *pbuf;
int i,t;
bb = (char**)malloc(argc);
for(i=0;i<argc;++i)
{
t = strlen(argv[i]);
pbuf = (char*)malloc(t + 1);
strcpy(pbuf,argv[i]);
*(bb + i) = pbuf;
}
for(i=0;i<argc;++i)
{
printf("%s\n",*(bb + i));
free(*(bb + i));
}
if (bb !=NULL) 
    free(bb); ////这里出错,why?  
}
编译器:vs.net