指针类型与其他数据类型一样,也可以用来定义指针数组。指针数组的每一个元素都是一个指针变量,它使字符串的处理更加灵活方便,并节省内存。
例题:应用函数和指针数组,对字符串:“grape”,“peach”,“apple”,“cherry”,"banana"按字母从小到大顺序进行排序,并输出。
代码如下
#include<string.h>
#include<stdio.h>
int main()
{void sort(char *f[],int n);
char *fruit[5]={"grape","peach","apple","cherry","banana"};
int i;
sort(fruit,5);
for(i=0;i<5;i++)
{printf("%s\n",fruit[i]);
}
return 0;
}
void sort(char*f[],int n)
{char *p;
int i,j;
for(i=0;i<n-1;i++)
{for(j=i+1;j<n;j++)
{if(strcmp(f[i],f[j])>0)
{p=f[i];
f[i]=f[j];
f[j]=p;
}
}
}
}
运行结果
p.s. sort函数只对指针数组排序,不改变字符串的储存位置。