例:冒泡排序函数的新写法
#include <stdio.h>
void bubblesort(int*, int);
int main( )
{
int i,a[10]= {3,5,9,1,3,6,-9,-7,10,12};
bubblesort(a,10);
for(i=0; i<10; i++)
printf("%d ", a[i]);
return 0;
}
void bubblesort(int *p, int n)
{
int i,j,t;
for (i=0; i<n-1; i++)
for(j=0; j<n-i-1; j++)
if (*(p+j)>*(p+j+1))
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
return;
}
作为形式参数的数组,披着羊皮的狼!
(作为形参的数组名,实质上就是指针,而不是固有定地址值的数组)
#include <stdio.h>
void f(int arr[], int n);
int main()
{
int a[10]= {0,1,2,3,4,5}, n=10;
f(n, 10); //此处有警告
return 0;
}
void f(int arr[], int n)
{
printf("%d\n", arr[1]);
}