今天复习了选择法,并且使用指针操作,对指针的操作有了更进一步的认识。
void sort(int x[10],int n) /*这里与非指针的样式相同 因为在函数调用中已经指向x[10]*/
{
int i,j,m,k; /*这里i,j,k虽然定义为整形变量 但其储存的数据为指针。*/
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[k]>x[j])
k=j;
if(k!=i)
{
m=x[k];
x[k]=x[i];
x[i]=m;
}
}
return;
}
对于指针的使用 如以下例子
int a[10],i,*p=a;
for(i=0;i<10;i++)
printf("%d",a[i]);
与
for(i=0;i<10;i++,p++)
printf("%d",*p);
for(p=a;p<a+10;p++)
printf("%d",*p);
for(p=a,i=0;i<10;i++)
printf("%d",*p++);
均一致
表面了指针的灵活性。
当然在使用指针时要注意指针的重置 ,如果使用了一次,后面还需使用,则需要重置该指针,否则数据将会错误。