6.7.1 指针数组的概念 如果一个数组,其元素均为指针类型数据,该数组称为指针数组,也就是说,指针数组中的每一个元素相当于一个指针变量,它的值都是地址。一维指针数组的定义形式为 类型名*数组名[数组长度]; 例如 int *p[4]; 可以用指针数组中各个元素分别指向若干个字符串,使字符串处理更加方便灵活。 例6.15 若干字符串按字母顺序(由小到大)输出。 #include <iostream> using namespace std; int main( ) { void sort(char *name[],int n); //声明函数 void print(char *name[],int n); //声明函数 char *name[]={″BASIC″,″FORTRAN″,″C++″,″Pascal″,″COBOL″}; //定义指针数组 int n=5; sort(name,n); print(name,n); return 0; } void sort(char *name[],int n) { char *temp; int i,j,k; for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(strcmp(name[k],name[j])>0) k=j; if(k!=i) { temp=name[i];name[i]=name[k];name[k]=temp;} } } void print(char *name[],int n) { int i; for(i=0;i<n;i++) cout<<name[i]<<endl; } 运行结果为 BASIC COBOL C++ FORTRAN Pascal 图6.21 图6.22

评论