版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C语言从基础到进阶全面讲解数组目录1.基础知识2.数组的分类2.1按元素类型分类2.2按维数分类3.数组定义和初始化3.1一维数组3.2二维数组4.数组元素的引用方法5.字符数组的定义
1.基础知识
C语言中使用数组表示多个连续的同类型的存储位置使用数组表示多个连续存储位置的时候只需要一个名字,这个名字代表所有这些存储位置的整体每一个存储位置有一个自己的编号,最前边的存储位置的编号是0,向后依次递增,最后一个存储位置的编号是个数减一,这个编号叫做下标决不可以使用超过范围的下标使用名称和下标就可以表示这组存储位置中的某一个
2.数组的分类
2.1按元素类型分类
字符数组:若干个字符变量的集合短整型数组整型数组长整型数组浮点型数组指针数组结构体数组
2.2按维数分类
一维数组二维数组多维数组
3.数组定义和初始化
3.1一维数组
格式:数据类型数组名[数组元素的个数];
数组名和元素个数中间没有空格
inta[10];定义了一个名为a的数组,每个元素都是int类型,一共有10个元素数组元素的个数在定义的时候也可以不写,但是需要初始化,如下例的b[]
#includestdio.h
intmain(intargc,char*argv[]){
inta[10];
intb[]={10,20,30};
printf("sizeof(a)=%d\n",sizeof(a));
return0;
初始化
全部初始化inta[5]={1,2,3,4,5};
部分初始化,赋值不够的后面补0inta[5]=2;
#includestdio.h
intmain(){
//如果不初始化,直接使用为随机值
inta[4]={2,3,6,5};
printf("数组a的元素为:%d,%d,%d,%d\n",a[0],a[1],a[2],a[3]);
intb[4]={2,5};
printf("数组b的元素为:%d,%d,%d,%d\n",b[0],b[1],b[2],b[3]);
3.2二维数组
格式:数据类型数组名[行的个数][列的个数]
例如inta[2][4]
解释:名为a的二维数组,每个元素都是int类型,包含两行四列元素,一共有8个元素
二维数组也是连续开辟空间,访问元素是行和列都是从0开始
分别是a[0][0],a[0][1]a[1][3]
注意:二维数组的行数可以省略,列数不能省略,在初始化的时候按照如下操作
系统会根据列数自动指定行数
#includestdio.h
intmain(){
inta[2][4];
printf("sizeof(a)=%ld%ld\n",sizeof(a),2*4*sizeof(int));
//省略行标:
intb[][4]={1,2,3,4,5};
printf("sizeof(b)=%ld\n",sizeof(b));
return0;
初始化
逐行初始化:
#includestdio.h
intmain(){
inta[2][3]={{1,2,3},{6,6,6}};
inti=0,j=0;
for(i=0;ii++){
for(j=0;jj++){
printf("%d,",a[i][j]);
printf("\n");
return0;
}
部分初始化:
#includestdio.h
intmain(){
inta[2][3]={{1,2},{6}};
inti=0,j=0;
for(i=0;ii++){
for(j=0;jj++){
printf("%d,",a[i][j]);
printf("\n");
return0;
全局初始化:
#includestdio.h
intmain(){
inta[2][3]={1,2,3,4,5,6};
inti=0,j=0;
for(i=0;ii++){
for(j=0;jj++){
printf("%d,",a[i][j]);
printf("\n");
return0;
4.数组元素的引用方法
一维数组:数组名[下标]
二维数组:数组名[行标][列标]
上例中已经通过a[i][j]进行引用,简单易懂
5.字符数组的定义
#includestdio.h
intmain(){
//用字符的方式赋值
charc1[]={'c','','p','i','g'};
printf("c1数组为:\n");
for(inti=0;ii++){
printf("'%c',",c1[i]);
printf("\n");
//用字符串的方式赋值,多占1个字节,用于存放结束标志‘\0'
charc2[]="cpig";
for(intj=0;jj++){
printf("'%c',",c2[j]);
//二维数组字符赋值
chara[][5]={
{'a','b','v','g','y'},
{'a','b','v','g','y'}
//字符串赋值,知道为什么是6吗?因为多了一个'\0'
charb[][6]={"hello","world"};
//二维数组的元素读者可自行打印练习
return0;
}
练习:定义一个字符数组,通过scanf函数输入字符串并输出结果
#includestdio.h
intmain(){
//通过赋值”“这样的方式可以清除字符数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》考前冲刺练习试题及完整答案详解【全优】
- 项目7 广告翻译与英汉翻译技巧之省译法
- 中小学随迁子女入学政策与融合教育支持措施
- 骨质疏松症患者的文化背景与护理适应
- 2024-2025学年公务员(国考)考前冲刺试卷附答案详解(基础题)
- 2024-2025学年度主管护师(中级)常考点试卷附答案详解【研优卷】
- 2024-2025学年度黔南民族医学高等专科学校《形势与政策》期末考试高频难、易错点题含答案详解【研优卷】
- 2024-2025学年度火电电力职业鉴定模拟试题及参考答案详解一套
- 2024-2025学年医学检验(士)通关考试题库及答案详解【各地真题】
- 2024-2025学年度园林绿化作业人员过关检测试卷及参考答案详解(研优卷)
- 中国刑事警察学院课件
- 体检科护理题库及答案
- 花生好车合同协议
- 2025年苏州工业职业技术学院高职单招(数学)历年真题考点含答案解析
- 人教版五年级数学下册典型例题期中复习·终极压轴版(原卷版+解析)
- 学校教室护眼灯投标方案
- 畜禽舍建筑设计指南
- 光伏发电设备检修维护(技师)职业技能鉴定备考试题库(含答案)
- 第二节 物质的密度(教学设计)2024-2025学年北师大版八年级物理下册
- 病理学与病理生理学(第5版) 课件 第一章 疾病概论
- 五年级下册字谜故事带答案
评论
0/150
提交评论