一维数组
- 定义
用于保存大量相同类型的数据
int a[10]={1,2,3,4,5,6,7,8,9,10}//int 是基类型表示每个数组元素的类型;a是数组名,且代表了一个数组的首地址
;10是数组长度但是地址是a[0]-a[9];
最好使用宏定义便于修改数组长度;在向函数传递数组的时候一般也把数组与数组长度分开传递便于修改长度
- #define N 10
int a[N];
- int myfunction(int a[],int n)
2.初始化
编译阶段:未初始化的在静态存储区和全局变量将被初始化为0否则为随机数
int a[3]={1,2,3};==int a[]={1,2,3};
int a[3]={1,2};==int a[3]={1,2,0};//只给部分数组元素赋值,其数组长度不但省略
#include<string.h>
memset(a,0,sizeof(a));//sizeof(a)用来获得数组的字节数
- 数组的内存
- 数组的每个元素占内存空间的字节数取决于基类型
例如:动态存储区内
short a[10]//短整型每个元素占2个字节
char a[10]//字符型每个元素占1个字节
静态存储区内
static float a[10]//浮点型每个元素占4个字节
数组的数据类型–每元素占内存空间的字节数
数组的储存类型–动态,静态存储区+cpu寄存器
一维数组内存中占用的字节数=数组长度*sizeof(基类型)
- 数组的输入
- 普通键盘输入赋值
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
- 用于数组之间的赋值
1.
for(i=0;i<n;i++)
{
b[i]=a[i];
}
2.
memcpy(a,b,sizeof(b));//将数组b赋值给数组a
- 向函数传递
int main()
{
function(score,n);
}//主函数
int function(int a[],int n)
{
}//自定义函数