计算一个数组的大小可以利用sizeof;sizeof给出整个数组所占内容的大小,单位为字节。
计算时可用sizeof(a)/sizeof(a[0]),优点:一旦修改数组中的初始数据,不需要修改遍历的代码。
数组变量本身不能被赋值,因此要把一个数组的元素交给另一个数组必须要用遍历的方法
例:for(i=0;i<=j;i++)
b[i]=a[i];
数组作为参数时,不能在[]中给出数组的大小,不能再利用sizeof计算数组中元素的个数,往往必须利用另一个参数来传入数组的大小。
//查找一个数字在数组中的位置
#include <stdio.h>
int search(int key,int a[],int length);
main()
{
int a[]={1,2,3,4,5,6,7,8.9,10};
int x;
int loc;
printf(“请输入一个数字”);
scanf(“%d”,&x);
loc=search(x,a,sizeof(a)/sizeof (a[0])) ;
if(loc !=-1) {
printf(“%d在%d个位置上\n”,x,loc);}
else{printf(“%d不存在\n”,x);
}
return x;
}
int search(int key,int a[],int length)
{int x=-1;
int i;
for(i=0;i<length;i++);
{
if(a[i]==key)
{
x=i;
}
return x;
}
}