首页 > 代码库 > C语言基础学习8:指针数组

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