int *p[5]; //指针数组 int i; for(i=0;i<5;i++) p[i]=(int*)malloc(sizeof(int)); //要每个都要赋值 for(i=0;i<5;i++) scanf("%d",p[i]); //p[i]本身是指针,请对比scanf("%d",&x),后面要取地址 for(i=0;i<5;i+++) printf("%d\t",*p[i]); //*p[i]才是所存储的值,p[i]是地址