周游C语言教程9 - 数组
周游C语言教程9 - 数组
这是周游C语言的第九篇教程,你将在这篇文章里认识数组。
数组
数组就是一组相同的数的集合,数组的声明并不是声明一个个单独的变量,比如a0、a1、…、a99,而是声明一个数组变量,比如 a,然后使用 a[0]、a[1]、…、a[99] 来代表一个个单独的变量。
数组在内存中是连续的。
第一个元素 | 第二个元素 | 第三个元素 | … | 最后一个元素 |
---|---|---|---|---|
a[0] | a[1] | a[2] | … | a[99] |
声明数组
在声明数组时需要定义数据类型,数组名称和数组大小,数组大小需要用方括号包裹
数据类型 数组名称[数组大小];
比如有5框苹果,我们就可以声明成
int apple[5];
数组初始化
数组可以使用以下方式进行初始化
int apple[5] = {1,2,3,4,5};
这样就将apple这个数组的每个成员都单独进行了赋值
apple[0] | apple[1] | apple[2] | apple[3] | apple[4] |
---|---|---|---|---|
1 | 2 | 3 | 4 | 5 |
单独进行赋值的时候可以将数组长度省略,这样编译器将会自动把给数组计算长度
int apple[] = {1,2,3,4,5};
访问数组
数组名[索引号]
的形式可以访问数组,索引号需要从0开始。比如apple[0]表示apple数组的第一个元素。
下列代码将计算苹果的总数,并将苹果平分给每个框
#include <stdio.h>int main()
{int apple[5] = { 1,2,3,4,5 };int i = 0;int total = 0;for (i = 0; i < 5; i++){total += apple[i];}printf("一共有%d个苹果\n", total);for (i = 0; i < 5; i++){apple[i] = total / 5;printf("第%d个框现在有%d个苹果\n", i+1, apple[i]);}
}
多维数组
C语言支持多维数组,其声明形式如下
数据类型 数组名称[第一维长度size1][第二维长度size2][...][第n维长度sizen];
多维数组一共包含了size1size2…*sizen个变量。
int apple[3][5][4];
以上声明表示一个3.5.4维的数组
二维数组
我们以最简单的二维数组为例,定义一个
int apple[3][5];
我们给它赋予一个现实意义,一共有3间房子,每间房子都有5框苹果。
第一筐 | 第二筐 | 第三筐 | 第四筐 | 第五筐 | |
---|---|---|---|---|---|
第一间房子 | apple[0][0] | apple[0][1] | apple[0][2] | apple[0][3] | apple[0][4] |
第二间房子 | apple[1][0] | apple[1][1] | apple[1][2] | apple[1][3] | apple[1][4] |
第三间房子 | apple[2][0] | apple[2][1] | apple[2][2] | apple[2][3] | apple[2][4] |
初始化二维数组
int apple[3][5]={{1,2,3,4,5},{3,2,1,4,5},{2,5,3,4,1}
};
其中,花括号可以省略
int apple[3][5]={1,2,3,4,5,3,2,1,4,5,2,5,3,4,1};
访问二维数组
同样可以用数组名加索引号的方式进行访问。
int a = apple[1][3];
表示访问第2个房间第4筐(索引号从0开始)
#include <stdio.h>int main()
{int apple[3][5] = {{1,2,3,4,5},{3,2,1,4,5},{2,5,3,4,1}};int i, j = 0;int total = 0;for (i = 0; i < 3; i++){for (j = 0; j < 5; j++){total += apple[i][j];}}printf("一共有%d个苹果\n", total);for (i = 0; i < 3; i++){for (j = 0; j < 5; j++){apple[i][j] = total / 5 / 3;printf("第%d个房间第%d个筐现在有%d个苹果\n", i+1, j+1, apple[i][j]);}}
}
周游C语言教程9 - 数组相关推荐
- c语言定义数组6,C语言教程6数组.ppt
C语言教程6数组.ppt #include main( ){ char name[13]; int i; for (i =0; i <=12; i ++)scanf(" %c" ...
- Rust语言教程(3) - 数组与向量
Rust语言教程(3) - 数组与向量 上一节我们采摘了不少低矮的果实,将其它语言学到的知识迁移到Rust 中来.这一节我们仍然继续采摘. 在数据结构中,最经常使用的就是定长的数组和变长的向量. 数组 ...
- c语言指针数组课件,C语言指针与数组教程课件.ppt
C语言指针与数组教程;教学要求;本章主要内容;引子;#include void swap ( int x, int y ) { printf("调用时:x地址为:%p, 值为:%d\n&qu ...
- C语言 指针和数组区别 - C语言零基础入门教程
目录 一.前言 二.指针和数组区别 1.通过 sizeof 获取大小 a.计算数组大小 b.计算指针大小 2.指针和数组赋值方式不同 a.指针赋值 b.数组赋值 3.指针是指针变量,数组是指针常量 三 ...
- C语言 二维数组遍历 - C语言零基础入门教程
目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...
- C语言 二维数组行数和列数计算 - C语言零基础入门教程
目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...
- C语言 二维数组定义和使用 - C语言零基础入门教程
目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...
- c语言程序设计5*5矩阵求出,实用C语言程序设计教程5数组和矩阵ppt221.ppt
实用C语言程序设计教程5数组和矩阵ppt221 C语言程序设计 - 第5章 数组和矩阵 第5章 构造数据-- 数组和矩阵 本章教学目标 1.理解C语言中数组的本质及其在内存的存储结构 2.应用数组表示 ...
- 易语言教程数组删除成员和删除指定成员
删除成员()表面看是一个简单的数组操作命令,其实有很多类型,必须删除指定成员,删除重复成员,删除多个指定成员,删除多个重复成员,一次性删除数组中重复的成员等等,所以本课叫录制了基础的删除成员和删除指定 ...
最新文章
- nginx 配置简介
- 可能是堆被损坏,这也说明 XX.exe 中或它所加载的任何 DLL 中有 bug
- c语言中闰年 日期 天数 统计出在某个特定的年份中,出现了多少次既是13号又是星期五的情形
- Java并发(四)——synchronized、volatile
- 《众妙之门——用户体验设计的秘密》一2.3 触摸至上的设计
- PUN☀️四、服务器大厅建房解析
- 戴尔linux恢复镜像,戴尔 SupportAssist OS Recovery 系统恢复教程
- 常见的API接口管理工具
- 简化的围棋棋子规则(C++实现)
- Linux系统之LVM(逻辑卷管理)
- html中屏幕文字轮播怎么做,如何制作网页滚动文字(html)(一)
- 亡命威龙评测:像城管一样开警车
- js基础笔记(持续更新)
- MSP430FR2433 LaunchPad板子energy trace技术测量电流电压
- 2021年N1叉车司机证考试及N1叉车司机模拟考试题库
- Robot Framework robot命令
- js出生日期转化年龄
- 实战大项目:模拟登录丁香园,并抓取论坛页面所有的人员基本信息与回复帖子内容----登录第一步
- WIN 8 安装PL2303驱动
- 历年高考高校录取分数线
热门文章
- matlab四维图形,matlab绘四维图
- asp.net开发wap程序必备:识别来访手机品牌型号 选择自 Qqwwee_Com 的 Blog
- [FFMPEG硬件加速]nvidia方案
- 练手项目1笔记 day02AnglaJS
- 内存测试软件苹果手机,苹果6内存问题,怎么查看iPhone6Plus的闪存内存类型(不用越狱)...
- Android程序设计之学生考勤管理系统
- 电商小程序可以实现什么功能_分享电商小程序的作用
- MAC iOS推送生产pem证书
- vr虚拟展馆3d展厅三维展示,数字化转型首选
- 【博学谷学习记录】超强总结,用心分享|大数据之GROUPING