数组的定义和使用
程序员文章站
2024-02-17 17:41:04
...
数组的定义和使用
在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来———称为数组。
数组就是在内存中连续的相同类型的变量空间。同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的。
数组定义
数据类型 数组名[元素个数]={值1,值2,值3}
int arr[10] = { 9,4,2,1,8,5,3,6,10,7 };
数组下标 数组名[下标]
数组下标是从0开始的到数组元素个数-1
for (int i = 0; i < 10; i++)
{
printf("%d\n", arr[i]);
}
数组元素参与计算
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
arr[3] = arr[5];
arr[2] = arr[3] * 2;
for (int i = 0; i < 10; i++)
{
printf("%d\n", arr[i]);
}
数组在内存中存储方式和大小
数组名是一个地址常量 指向数组首地址的常量
int main(void)
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//下标为0的元素地址
//数组名是一个地址常量 指向数组首地址的常量
printf("数组在内存中占的大小:%d\n", sizeof(arr));
printf("数组元素大小:%d\n", sizeof(arr[0]));
printf("数组元素个数:%d\n", sizeof(arr) / sizeof(arr[0]));
for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
printf("%d\n", arr[i]);
}
return 0;
}
int main()
{
int arr[10];
arr[0] = 1;
for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
printf("%d\n", arr[i]);
}
return EXIT_SUCCESS;
}
int main(void)
{
//int i = 10;
//数组元素必须是常量 常量表达式
//数组必须预先知道大小 动态数组-》开辟堆空间
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
scanf("%d", &arr[i]);
}
for (int i = 0; i < SIZE; i++)
{
printf("%d\n", arr[i]);
}
return 0;
}
int main0303(void)
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//printf("%d\n", arr[-1]);//err
//printf("%d\n", arr[10]);//err
for (int i = 0; i < 20; i++)
{
//数组下标越界 0-9
printf("%d\n", arr[i]);//err
}
return 0;
}