一、指针数组
指针数组:元素值为指针的数组
定义: 类型名 *数组名[n];
定义一个长度为n的数组(n为常量),数组元素的类型为类型名 *,每个元素可以存储类型名变量的地址。
int *s[5];
s[0]~s[4]共5个存储单元,类型为int *,可以存储int类型变量的地址
char *t[4];
t[0]~t[3]共4个存储单元,类型为char *,可以存储char类型变量的地址
问题:实现6个字符串的从大到小排序。
分析: 选择、冒泡
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if (t[i]<t[j])
{t[i]<--->t[j]}
方法2:
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if (strcmp(t[i],t[j])<0)
{直接交换t[i]和t[j]}
void sort(char *t[],int n) {
int i,j;
char *s;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if (strcmp(t[i],t[j])<0)
{s=t[i];t[i]=t[j];t[j]=s;}
}
[1]
[2]
[3]
[4]
下一页