C语言基础学习8:指针数组

一个数组,若其元素均为指针类型数据,称为指针数组,指针数组中的每一个元素都相当于一个指针变量。

一维指针数组的定义形式为:

类型名 *数组名[数组长度];

例如:int *p[4];

[]的优先级比*高,因此p先与[4]结合,形成p[4]形式,这是数组形式,然后再与p前面的"*"结合,"*"表示此数组是指针类型的,每个数组元素都可指向一个整型变量。

为什么要用到指针数组呢?

因为它比较适合于用来指向若干个字符串,使得字符串处理更加灵活。

 1 #include <stdio.h>
 2 #include <string.h>
 3 void sort(char *name[], int n);
 4 void print(char *name[], int n);
 5 void sort(char *name[], int n)
 6 {
 7     char *temp;
 8     int i,j,k;
 9     for(i=0;i<n-1;i++)
10     {
11         k = i;
12         for(j=i+1;j<n;j++)
13             {
14                 if(strcmp(name[k],name[j])>0)
15                 k = j;
16             }
17 
18         if(k!=i)
19             {
20                 temp = name[i];
21                 name[i] = name[k];
22                 name[k] = temp;
23             }
24     }
25 }
26 void print(char *name[], int n)
27 {
28     int i;
29     for(i=0;i<n;i++)
30         printf("%s\n",name[i]);
31 }
32 void main()
33 {
34     char *name[] = {"Follow me","Basic","Great Wall","FORTRAN","Computer design"};
35     int n = 5;
36     sort(name,n);
37     print(name,n);
38 }
View Code

posted on 2014-07-20 14:51  Iambitiousman  阅读(182)  评论(0编辑  收藏  举报

导航