一、一维数组的创建
int arr1[10];
char arr2[10];
flout arr3[1];
double arr4[20];
数组创建,“[ ]”中要给一个常量,不能使用变量
二、一维数组初始化
int arr1[10]={1,2,3}; //不完全初始化
int arr2[4]={3,4,5,6}; //完全初始化
char arr3[4]={'a','b','99','d'};
char arr4[]={'A','B','C'};
char arr5[]="abcdef";
不完全初始化时,未初始化的元素,编译器自动初始化为0
三、一维数组的使用
下标引用操作符:[ ],数组的下标是从0开始的
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[3]={1,2};
int i=0;
for(i=0;i<3;i++)
{
printf("arr[%d]= %d\n",i,arr[i]);
}
return 0;
}
四、一维数组在内存中的存放
1、先看代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int sz=sizeof(arr)/sizeof(arr[0]);
int i=0;
for(i=0;i<sz;i++)
{
printf("&arr[%d] = %p\n",i,&arr[i]);
}
return 0;
}
2、定义的数组是int类型的,在32位编译器中所占字节是4字节
3、输出的结果是16进制数,转换成二进制数,都相差4,并且是连续存放的
随着数组下标的增长,元素的地址也在有规律的递增,得出结论:数组在内存中是连续存放的
五、数组的大小
数组的大小可以通过计算得到
int arr[3];
int sz=sizeof(arr)/sizeof(arr[0]);