C语言数组概念与一维数组详解
创作时间:
作者:
@小白创作中心
C语言数组概念与一维数组详解
引用
CSDN
1.
https://m.blog.csdn.net/m0_74147998/article/details/145670807
数组是C语言中非常重要的数据结构,它允许我们存储和操作一组相同类型的元素。本文将详细介绍数组的概念、一维数组的定义、数组元素的访问、数组的初始化以及几个相关的案例。
数组概念
数组是相同数据类型的有序集合。数组中的每个元素都有一个唯一的索引,用于标识其在数组中的位置。
数组的特征
- 数组中的数据被称为数组的元素,所有元素都是同构的。
- 数组中的元素在内存中是连续存储的。
- 下标(索引)表示数组中元素距离第一个元素的偏移量,数组的下标从0开始。
- 数组中元素的地址值随着下标的增大而增大。
一维数组
数组的定义
语法:
类型说明符/数据类型 数组名[数组的容量];
说明:
- 数组的类型由其元素决定,所有元素的类型必须相同。
- 数组名遵循标识符命名规则,不能以数字开头,只能包含数字、字母和下划线。
- 数组容量必须是整型常量或常量表达式,不能是变量。
示例:
#define SIZE 4
int arr[SIZE]; // 符号常量
int size = 4;
int arr[size]; // 常量
int arr[4]; // 常量
int lcd[800*480]; // 常量表达式
数组元素的访问
数组元素不能一次性访问所有,只能通过下标一个一个访问。
访问方式:
数组名[下标];
示例:
int arr[10];
arr[0] = 89;
int a = arr[0];
int c = arr[9];
int b = arr[10]; // 错误,下标越界
数组的初始化
可以在定义数组的同时进行初始化。
语法:
数据类型 数组名[数据容量] = {常量1,常量2,常量3,...}
注意事项:
- 数组可以部分初始化,未初始化的元素会被系统自动初始化为0。
- 如果定义数组时未指定数据容量,系统会根据初始化元素的个数来决定数组容量。
示例:
int arr[10] = {11,12,13,14,15}; // 推荐写法
int arr[] = {11,12,13,14,15}; // 推荐写法
数组长度计算
可以通过以下方式计算数组的长度:
int length = sizeof(arr) / sizeof(arr[0]);
一维数组案例
斐波那契数列
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
int f[20] = {1,1};
int len = sizeof(f) / sizeof(f[0]);
for(i = 2;i < len; i++)
{
f[i] = f[i-2]+f[i-1];
}
for(i = 0; i < len; i++)
{
if(i % 5 == 0)
{
printf("\n");
}
printf("%8d",f[i]);
}
printf("\n");
return 0;
}
计算某天是该年的第几天
#include <stdio.h>
int main(int argc,char *argv[])
{
int t[] = {31,0,31,30,31,30,31,31,30,31,30,31};
int year,month,day;
printf("请输入年份、月份、天:\n");
scanf("%d-%d-%d",&year,&month,&day);
if((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
t[1] = 29;
else
t[1] = 28;
int sum = day;
for(int k = 0; k < month - 1; k++)
{
sum += t[k];
}
printf("%d月%d日是%d年第%d天。\n",month,day,year,sum);
return 0;
}
热门推荐
清代著名目录学家 会稽(今浙江绍兴)姚振宗
牙有一点黑了就必须马上补吗
经常紧张、害怕、恐惧、担心,你可能患上了焦虑障碍
容量电价是为了补偿什么?
值得一读!六本网络安全学习必备书籍推荐
皮亚杰认知理论(精华版)
代驾服务的计费标准是什么?如何选择合适的代驾服务?
斗破苍穹:斗帝有7位,其中强者只有5人,他们是谁,该怎么排名?
王湾诗中的“海日生残夜,江春入旧年”深沉赏析
应急科普|人员密集场所安全指南,请注意!
高蛋白饮食助力减重 – 打造健康新生活
心理病还是心脏病?绵阳市中心医院「双心医学」给你答案
从一份报告看NASA困境
近5年中美半导体指数的历史比较分析与未来展望
高血压患者注意!降压药正确使用有讲究,这些注意事项要牢记
与其费心给丑陋的备用凳找“家”,不如让其化身家居风景线,才是收纳的境界
HiFi碎碎念:耳机成这样了,还有救吗?
劳动人事争议仲裁办案规则中对仲裁时间有何规定?
胸口因痘痘抓破出血留下痕迹的处理方法
全面解析:如何挑选适合家庭使用的高性价比激光打印机
叶玉卿的疯狂三部曲,哪一部最让你心动?
骨折术后如何促进骨骼愈合与功能恢复
清代目录学大师姚振宗的学术人生
精英跑者的典型每周训练计划:教你如何有效安排你的跑步课程表
墙布阴阳角施工:完美细节展示艺术之美
不当得利与善意取得的区别?
买新不买旧?15万预算,深蓝S05和深蓝S07怎么选
宝宝怎么转奶?隔顿转奶法具体如何操作?
在 Windows 中打开或关闭平板电脑模式
眼睛发炎最好的眼药水 正确使用眼药水和眼药膏