指针数组,真的好绕,真费脑子

怎样利用指针对国家名进行排序??? 求指导···· 数组织镇和指针数组????

** 刚开始学,就先在主函数中写吧**

int main()
{
int n,i,j;
char (*p)[10];
char a[10];
printf("国家个数:");
scanf("%d",&n);
p=(char (*)[10])malloc(n*sizeof(char [10]));
printf("国家名\n");
for (i=0;i<n;i++)

{
scanf("%s",
(p+i));
}
for(i=0;i {
for(j=i+1;j {
if (strcmp(*(p+i),*(p+j))>0)
{

strcpy(a,*(p+i));

strcpy(*(p+i),*(p+j));

strcpy(*(p+j),a);

printf("排序为\n");
}

    }
}
for(i=0;i<n;i++) 
{           
    printf("%s\n",*(p+i));
}
free (*p);      
return 0;

}

http://download.csdn.net/detail/shierhao/1391442
http://www.oschina.net/code/snippet_940580_22317
http://zhidao.baidu.com/link?url=ptHHgJ8u5ZKsna1p5eiDhMqfPTbfG9ygE0GQE9drI1EhzdDbW22LnCt_bYmsJWwJzM_yZSCYNWA-43ZO0PX34K