| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 数组——C语言 -> 正文阅读 |
|
[C++知识库]数组——C语言 |
目录 数组分为一维数组、二维数组以及多维数组。 数组的引入
?像简单变量一样, ?数组元素必须先定义后引用。
一维数组?一维数组的定义和引用
?关于"[]"的解释说明: ①方括号[ ]括起来的常量表达式的值为该数组含数组元素的个数, 即数组长度; 表达式可含常量和符号常量, 不允许有变量。 ②下标法表示数组中的某个元素,从0开始计数。 如:a[5]数组
存储方式:一维数组各元素按下标的顺序 连续地分配在内存单元之中。 一维数组的初始化方式(1)全部赋值:在定义数组时对全部数组元素赋予初值。 如: ? ? ? ? int a[6]={0,1,2,3,4,5} 即 a[0]=0;a[1]=1;a[2]=2;...以此类推 "{}"里的所有数值统称为初始化列表 (2)部分赋值:部分数组元素赋初值,剩余部分系统自动置0。 如: ? ? ? ? int a[6]={0,1,2,3};? ? ? ? //只提供了4个初值,系统自动给后两个元素赋值为0 (3)初始化成0。 如: ? ? ? ??可以写成 int a[6]={0,0,0,0,0,0}; ????????或 int a[6]={0};? ? ? ? //未赋值的部分元素自动设为0 (4)其他:在对全部数组元素赋初值时,由于数组的个数以已经确定,因此可以不指定数组长度。 ????????注意:当初值个数多于数组元素个数时,编译出错。 如: ????????int a[5]={0,1,2,3,4,5}; ? ????????/*error: too many initializers in main function*/? 编程案例:
代码:?
运行结果: ? 二维数组怎样定义二维数组?二维数组定义的一般形式为: ? ? ? ?类型说明符? 数组名[常量表达式][常量表达式]; 例如:
以上定义了一个整型的二维数组,第一维(行)有3个元素,第二维(列)有4个元素。 注意:? C语言中,二维数组中元素的排列顺序是按行存放的,即在内存中先顺序存放第1行的元素,接着再存放第2行当元素,以此类推...... 二维数组的初始化?(1)分行给二维数组赋初值; 如:? ? ? ? int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};? (2)可以将所有数据写在一个花括号内,按数据组元素在内存中的排列顺序对各元素赋初值; 如:? ? ? ? int a[3][4]?={1,2,3,4,5,6,7,8,9,10,11,12}; (3)可以对部分元素赋初值; 如:? ? ? ? int a[3][4]={{1},{5},{9}};? ? ? ? ? ? ? ? ? 或? ? int a[3][4]={{1},{5,6}}; ? ? ? ? 或? ? int a[3][4]={{1},{},{9}}; 其余元素自动补0 (4)如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维(行)的长度可以不指定,但第二维(列)的长度不能省略; ?如:? ? ? ? int a[3][4]?={1,2,3,4,5,6,7,8,9,10,11,12}; ? ?等价于??int a[][4]?={1,2,3,4,5,6,7,8,9,10,11,12}; 数组会根据数据总个数和第二维(列)的长度算出第一维(行)的长度。数组一共有12个元素,没行4列,显然可以确定行数为3。? 编程案例
解题思路:可以用“打擂台算法”。先让a[0][0]做“擂主”,把它的值赋给变量max,max用来存放当前已知的最大值?,在开始时还未进行比较,把最前面的元素认为是当前值最大的。然后让下一个元素a[0][1]与max进行比较,如果a[0][1]>max,就把它赋值给max,取代max的原值。以此类推...... 程序:?
运行结果: |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 12:49:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |