1.一维数组的创建和初始化
(1)一维数组的创建:
类型说明符 数组名[ 常量 表达式]
例如:int arr[3] 表示定义了一个整型数组,数组名为 arr,定义的数组称为数组 arr。数组名 arr除了表示该数组之外,还表示该数组的首地址。数组中有3个元素,每个元素的类型都为int类型,他们在内存中的地址是连续的。
索引:索引是从0开始的,上述数组中五个元素分别为:arr[0],arr[1],arr[2]。[ ]内的数字就是索引。
(2)一维数组的初始化:
①定义数组时给每个元素都赋值叫做“完全初始化”
例如:int arr[3] = {15, 32, 78}
②只给一部分元素赋值叫做“不完全初始化”
例如:int arr[5] = {12,35}
表示只给数组中前两个元素赋值,arr[0]=12,arr[1]=35,剩下的三个元素被默认初始化为0
2.一维数组的使用
数组的大小:
通过sizeof求得:
int length = sizeof(arr)/sizeof(arr[0]);
或引入头文件<string.h>中的strlen()函数计算
int length = strlen(arr);
3.一维数组在内存中的存储
定义一个包含10个元素的整型数组,并通过键盘循环给数组中的每个元素赋值,完成后,循环打印出 数组中每个元素的下标,值,地址。
#define SIZE 10
int main() {
//定义一个有十个元素的数组
int arr[SIZE] = { 0 };
//提示输入数字
printf("请输入十个数:");
//循环输入
for (int i = 0; i <SIZE;i++) {
scanf("%d",&arr[i]);
}
for (int i = 0; i < SIZE;i++) {
//打印地址
printf("元素的地址为%p,", &arr[i]);
//打印元素下标和值
printf("第%d个元素为%d\n", i + 1, arr[i]);
}
//打印换行字符
putchar('\n');
return 0;
}
根据结果可观察出地址在有规律的增长,,也证实了数组在内存中是连续分配的