数组名是什么——数组名就是地址,通常来说数组名就是数组首元素的地址。
但是有两个例外——1.sizeof(数组名),这里的数组名表示的是整个数组,计算的是整个数组的大小,单位是字节。2.取地址数组名(&数组名),这里的数组名表示的也是整个数组,取出的是整个数组的地址。
除此之外,数组名表示的都是数组首元素的地址。
数组传参传的是首元素的地址,形参部分本质上是指针,也可以写成数组。
例:冒泡排序。数组的传参
#include <stdio.h>
void sort(int arr[],int sz)//也可以写成void sort(int *arr,int sz)
{
int i = 0,j = 0;
for(i = 0;i < sz - 1;i++)
{
for(j = 0;j < sz - 1;j++)
{
if(arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int i = 0;
int arr[] = {10,9,8,7,6,5,4,3,2,1};
int sz = sizeof(arr) / sizeof(arr[0]);
sort(arr,sz);
for(i = 0;i < sz;i++)
{
printf("%d ",arr[i]);
}
return 0;
}