一维数组

(1)定义

一维数组是属于同一种数据类型的元素(变量)的有限序列,其元素称为数组元素,每个元素有统一的名称(数组名),有按序编号的唯一的下标。序列中元素的个数称为数组的长度。

例:a=a0,a1,a2,…,an-1

a是数组名;ai是数组元素;i是下标(i=0,1,…,n-1);他们表示同一种数据类型的数据元素,数组的长度为n。

(2)逻辑结构

是一对一的关系,是特殊的线性表。

(3)特点

一旦定义了数组,其结构就固定了,其结构中的元素个数及元素间的关系就不再发生变动。也即不能进行元素的插入、删除、交换等操作,但能对元素(数组元素)的值进行相关操作。

在程序设计语言中,把数组作为一种数据类型,数组元素是属于同一种数据类型的变量。

例5.1 一个实型的一维数组a1,a2,…,a50。可以用它表示班级中某学生各科目的平均成绩,下标表示学生的序号。

a1=70,a2=80,…, a50=100

同样用下标表示学生的序号,也可以用它表示班级中某学生某一科目的成绩:

a1=75,a2=85,…, a50=98

二维数组

1)定义

一个长度为n的一维数组A=a0, a1,a2,… an-1。其中每一个元素又是同类型的一维数组,如图5-1所示。

二维数组

(a)n个长度为m的列向量;(b)m个长度为n的行向量

称A为m行n列的二维数组,ai,j为数组元素, i是行下标,j是列下标。

(2)特点

与一维数组相同,一旦建立了二维数组,其结构就固定了,通常只能对数组元素的值 进行存取和修改等操作。不能对数组元素进行插入、删除等操作。

第一个下标表示行,第二个下标表示列,数组名和两个下标确定了唯一的数组元素。

例5.2 二维实型数组A,用行下标表示学生的学号,用列下标表示科目的编号,数组元素ai,j表示第 i 号学生第 j 门课目的成绩。(设左上角的元素所在位置为第1行第1列),对数组A赋值后,则第一位学生的第一门课程的成绩为98分,如图5-2所示。

用二维数组表示学生的成绩

c语言如何定义比较大的数组_C语言:数据结构-数组的定义、逻辑结构和特点相关推荐

  1. c语言求比平均值大的元素,c语言 10个元素的数组求平均值并输出比平均值大的数...

    [c语言]编写程序,求数组a中前n个元素的最大值max.最小值min及平均值avg. 是前n个元素么?main(){inti=n,sum=0;max=a[0];min=a[0];for(i=0;ia[ ...

  2. c语言向自定数组_C语言一维数组的定义和引用

    C语言一维数组的定义和引用 C语言支持一维数组和多维数组.如果一个数组的所有元素都不是数组,那么该数组称为一维数组. 一维数组的定义方式 在C语言中使用数组必须先进行定义.一维数组的定义方式为: 类型 ...

  3. c语言数组左下角便*,数据结构 - 数组

    数组与线性表的差异 我们以前应该学习过数组,数组与线性表的区别与联系呢? 它们的相同之处: (1)它们的相同之处,它们都是若干个相同数据类型的数据元素a0,a1,a2,-,an-1构成的有限序列 它们 ...

  4. c语言数组如何把一串数字存入数组_C语言经典编程题(下)

    C语言字符串加密和解密算法C语言输出等腰三角形C语言约瑟夫环问题C语言整数逆序输出C语言三色旗问题C语言求定积分C语言求空间两点之间的距离C语言日期处理函数C语言汉诺塔问题C语言九九乘法表C语言杨辉三 ...

  5. C++接收字符串数组_C语言处理字符串的7个函数

    C库提供了多个处理字符串的函数,ANSI-C把这些函数的原型放在string.h头文件中.其中最常用的函数有strlen().strcat().strcmp().strncmp().strcpy()和 ...

  6. c 字符串数组_C语言探索之旅 | 第二部分第四课:字符串

    内容简介 前言 字符类型 显示字符 字符串其实就是字符的数组 字符串的创建和初始化 从 scanf 函数取得一个字符串 操纵字符串的一些常用函数 总结 第二部分第五课预告 1. 前言 上一课 C语言探 ...

  7. 第六章 C语言数组_C语言变长数组:使用变量指明数组的长度

    在<C语言的三套标准:C89.C99和C11>一节中我们讲到,目前经常使用的C语言有三个版本,分别是 C89.C99 和 C11.C89(也称 ANSI C)是较早的版本,也是最经典的版本 ...

  8. c语言字 字符串转换成数组_C语言学习教程之详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include 总结 以上 ...

  9. 第六章 C语言数组_C语言数组是静态的,不能插入或删除元素

    在C语言中,数组一旦被定义后,占用的内存空间就是固定的,容量就是不可改变的,既不能在任何位置插入元素,也不能在任何位置删除元素,只能读取和修改元素,我们将这样的数组称为静态数组. 反过来说,如果数组在 ...

最新文章

  1. PHPWAMP集成环境Zend组件的相关介绍,环境默认的PHP运行模式
  2. java中有几种内部类,Java中的四种内部类
  3. 关于每年一次的社会保险缴费基数核定说明
  4. qt 安装mysql_qt 安装mysql数据库
  5. CF932F-Escape Through Leaf【树上启发式合并,CDQ分治,斜率优化dp】
  6. poj1062 Bellman 最短路应用
  7. [北京昌平] 企名片寻找合适的伙伴,一起做数据,让数据不再难找难应用,做全球企业数据服务商...
  8. UVA654 LA5508 POJ1079 Ratio【暴力】
  9. 怎样用springboot开发cs_springboot 系列 springboot 初探
  10. Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门
  11. 拨号720错误解决记.txt
  12. 石墨烯——结构、制备方法与性能表征(1)
  13. Spring5.0响应式编程入门
  14. 计算机语言收入排名,全球人均收入排名美元_计算机语言收入排名
  15. python计算股票趋势_量化交易之股票选股因子——走势线性回归
  16. strom 在linux下部署、基本命令
  17. Fite-C02-1班成员学习进度记录
  18. 获取按键精灵论坛网页源文件
  19. ubuntu18安装
  20. 2021最新.NET/C#面试汇总:《.NET/C#面试手册》

热门文章

  1. nginx搭建文件服务器脚本,nginx搭建web服务器,配置端口复用
  2. linux踩内存内存越界,Linux如何调试内存泄漏?超牛干货奉献给你(代码全)
  3. TCP/IP / UDP 头
  4. C/Cpp / 设计模式 / 单例模式(线程安全)
  5. springapplication.run运行多个应用_编程的十二要素应用宣言
  6. vi的插入模式下退格和方向键不能使用的解决方法
  7. 全志 更换Update升级路径 Patch
  8. rust油桶用什么打_选什么样的柜子才好用?别再选定制柜了,还是老手艺人打的柜子好...
  9. qrcodejs2--Vue生成二维码组件封装
  10. 7. 基于策略的强化学习——蒙特卡洛策略梯度REINFORCE算法