当前位置: 首页 > news >正文

【C语言】数组(下)

【C语言】数组(下)

  • 6、二维数组的创建
    • 6.1二维数组的概念
    • 6.2二维数组的创建
  • 7、二维数组的初始化
    • 7.1不完全初始化
    • 7.2完全初始化
    • 7.3按照行初始化
    • 7.4初始化时可以省略行,但是不能省略列
  • 8、二维数组的使用
    • 8.1 二维数组的下标
    • 8.2二维数组的输入和输出
  • 9、二维数组在内存中的存储
  • 10、C99中的变长数组

6、二维数组的创建

6.1二维数组的概念

通过数组(上)介绍,我们学习了一维数组,数组的元素都是内置类型的,如果我们把一维数组作为数组的元素,这时就是二维数组,以此类推,如果把二维数组作为数组的元素,那么被称为三维数组。二维数组以上的我们称为多维数组

以下为图例:
在这里插入图片描述

6.2二维数组的创建

二维数组的语法如下:

type arr_name[常量值1][常量值2];
eg:
int arr[5][3];
double score[5][10];

解释:

  • int类型数组中5代表有5行;
  • int类型数组中3代表有3列;
  • int表示二维数组中每个元素的类型都是整型类型。
  • arr 是数组名称,可以根据自己的需要来创建。

7、二维数组的初始化

在前面创建变量的时候我们往往需要进行初始化,这是学习编程的一个好的习惯。那么在二维数组中我们也可以给定一些初始值,这样被称为二维数组的初始化

二维数组的初始化也和一维数组初始化的方法一致,都是在大括号里面给定一些初始值进行初始化的。

7.1不完全初始化

int arr1[4][6]={5,6};
int arr2[3][2]={0};

不完全初始化初始值存放如下图所示:
在这里插入图片描述

7.2完全初始化

int arr3[5][5]={1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,5,6,7,8,9};

在这里插入图片描述

7.3按照行初始化

int arr4[4][3]={{1,2},{2,3},{3,4},{4,5}};

在这里插入图片描述

7.4初始化时可以省略行,但是不能省略列

int arr5[][8]={1,2,3,4,5};
int arr6[][6]={1,2,3,4,5,6,7,8,9};
int arr7[][5]={{1,2},{2,3},{3,4},{4,5}};

在这里插入图片描述

8、二维数组的使用

8.1 二维数组的下标

二维数组的访问跟一维数组一样也是使用下标的形式,二维数组是有行和列的,确定了数组中某个元素的行和列后就能锁定数组中的某个元素。

int arr[3][5] ={1,2,3,4,5, 2,3,4,5,6 ,3,4,5,6,7};

在这里插入图片描述
图中左侧0、1、2表示行数,上面的数字表示列数。我们找二维数组的元素都是从行号0和列号0开始的,比如,第一行第三列的元素是5.
在这里插入图片描述
代码运行结果如图所示:
在这里插入图片描述

8.2二维数组的输入和输出

访问二维数组的单个元素的方法介绍之后,那么如何访问整个二维数组呢?
只要我们能够想办法按照一定的规律产生所有的行和列的数字就可以,以上面的代码为例子,行的范围在0-2;列的范围在0-4,我们可以借助循环来实现生成所有的下标。
在这里插入图片描述

9、二维数组在内存中的存储

像⼀维数组⼀样,我们如果想研究⼆维数组在内存中的存储⽅式,我们也是可以打印出数组所有元素
的地址的。代码如下:

在这里插入图片描述
通过输出的结果可以看出:每一行内部的每个元素都是相邻的,地址之间相差4个字节,跨⾏位置处的两个元
素(如:arr[0][4]和arr[1][0])之间也是差4个字节,所以⼆维数组中的每个元素都是连续存放的

在这里插入图片描述

10、C99中的变长数组

在C99标准之前,C语言在创建数组的时候,数组大小的指定只能使用常量、常量表达式,或者如果我
们初始化数据的话,可以省略数组大小。 (在C99之后引入变长数组的概念,使得数组大小可以用变量表示,但是VS2022版本不支持变长数组,即使用变量指定数组的大小)

int arr1[10];
int arr2[3+5];
int arr3[]={1,2,3};

这样的语法限制,让我们创建数组就不够灵活,有时候数组大了浪费空间,有时候数组又小了不够使用
的。

相关文章:

【C语言】数组(下)

【C语言】数组(下) 6、二维数组的创建6.1二维数组的概念6.2二维数组的创建 7、二维数组的初始化7.1不完全初始化7.2完全初始化7.3按照行初始化7.4初始化时可以省略行,但是不能省略列 8、二维数组的使用8.1 二维数组的下标8.2二维数组的输入和…...

cGANs with Projection Discriminator

基于映射鉴别器的CGAN 模型中,判别器(Discriminator)不是通过将条件信息简单地与特征向量拼接(concatenate)来使用条件信息,而是采用一种基于投影的方式,这种方式更加尊重条件信息在底层概率模…...

mysql学习教程,从入门到精通,SQL HAVING 子句(32)

1、SQL HAVING 子句 当然!HAVING 子句在 SQL 中用于对分组后的结果进行过滤。它通常与 GROUP BY 子句一起使用,以便对聚合函数(如 SUM(), COUNT(), AVG(), MAX(), MIN() 等)的结果进行条件筛选。 以下是一个示例,假设…...

JavaScript while循环语句

While语句包括一个循环条件和一段代码块&#xff0c;只要条件为真&#xff0c;就不断循环执行代码块。 while(条件){语句;} var i0;while(i<100){console.log(i);i1;} 注意&#xff1a;所有的for循环都可以改写为while循环...

49天精通Java(Day 2):Java的基本语法

上期内容回顾 在上一期的内容中&#xff0c;我们介绍了Java的基本概念、历史背景&#xff0c;并完成了JDK 1.8的安装与环境配置。你还编写并运行了第一个简单的Java程序“Hello, World!”。今天&#xff0c;我们将深入探讨Java的基本语法&#xff0c;包括变量、数据类型、运算…...

uni-app之旅-day01-home页

首页 3.0 创建 home 分支 &#x1f355;&#x1f355;&#x1f355;运行如下的命令&#xff0c;基于 master 分支在本地创建 home 子分支&#xff0c;用来开发和 home 首页相关的功能git branch(查看分支)git checkout -b home(创建home分支) 3.1 配置网络请求 &#x1f32…...

Vue3轻松实现导出Excel文件功能

文章目录 1.前言2.安装插件3.案例3.1 定义表格数据,设置 id 选择器3.2 据所选 dom 对象生成 sheetbook3.3 写入文件3.4 生成 xlsx文件4.完整代码1.前言 前端常用的导出 Excel的 js 库是 xlsx,但是 xlsx不能设置样式。要想设置样式,必要要结合 xlsx-style 插件一起使用,但是…...

在Kali Linux中使用VNC和iptables配置xrdp以实现远程连接

在Kali Linux中&#xff0c;使用VNC和iptables配置xrdp以实现远程连接涉及几个步骤。不过&#xff0c;值得注意的是&#xff0c;VNC和xrdp是两种不同的远程桌面协议&#xff0c;它们通常不会在同一配置中同时使用&#xff08;除非有特殊的网络架构需求&#xff09;。然而&#…...

小徐影院:Spring Boot技术下的影院革新

第四章 系统设计 4.1 系统的功能结构图 通过系统需求分析&#xff0c;本小徐影城管理系统的功能结构设计如图4-1所示&#xff1a; 图4-1 系统功能图 4.2 系统数据库设计 4.2.1 数据库E-R图 在该系统的信息中&#xff0c;由于数据库的支持&#xff0c;我们可以对数据库进行收集…...

命名空间

在 C 中&#xff0c;变量、函数和类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突&#xff0c;使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以避免命名冲突或名字污染&#xff0c;namespace 关键字的…...

使用 Elastic 将 AI 摘要添加到你的网站

作者&#xff1a;来自 Elastic Gustavo Llermaly 我们目前所知道的搜索&#xff08;搜索栏、结果、过滤器、页面等&#xff09;已经取得了长足的进步&#xff0c;并实现了多种不同的功能。当我们知道找到所需内容所需的关键字或知道哪些文档包含我们想要的信息时&#xff0c;尤…...

dOOv:Java 数据验证与映射库(简化业务逻辑)

dOOv 是一个为 Java 开发人员设计的轻量化库&#xff0c;专注于数据验证和对象间的映射。与传统的验证框架不同&#xff0c;dOOv 通过提供简洁、声明式的 API&#xff0c;使得开发者可以轻松地编写、扩展和维护验证和映射规则。其设计灵感源自领域驱动设计&#xff08;DDD&…...

Arthas sc(查看JVM已加载的类信息 )

文章目录 二、命令列表2.2 class/classloader相关命令2.2.5 sc&#xff08;查看JVM已加载的类信息 &#xff09;举例1&#xff1a;模糊搜索&#xff0c;xx包下所有的类举例2&#xff1a;打印类的详细信息举例3&#xff1a;打印出类的Field信息 本人其他相关文章链接 二、命令列…...

OCR 行驶证识别 离线识别

目录 正页识别 副页识别 全部识别 OCR 行驶证识别 离线识别 正页识别 副页识别 全部识别...

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍&#xff1a; 真正的好东西&#xff0c;搞网站优化seo从业必备。可以快速提升网站权重&#xff0c;带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…...

LeetCode题练习与总结:丑数--263

一、题目描述 丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n &#xff0c;请你判断 n 是否为 丑数 。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;n 6 输出&#xff1a;true 解释&#xff1…...

初识C语言(五)

前言 本文章就代表C语言介绍以及了解正式完成&#xff0c;后续进行具体分析和详细解析学习。知识根深蒂固才可以应付后来的学习&#xff0c;地基要打好&#xff0c;后续才会轻松。 十四、结构体 结构体是C语言中最最重要的知识点&#xff0c;使得C语言有能力描述复杂的类型。 …...

Linux:深入理解冯诺依曼结构与操作系统

目录 1. 冯诺依曼体系结构 1.1 结构分析 1.2 存储结构分布图 2. 操作系统 2.1 概念 2.2 如何管理 2.3 什么是系统调用和库函数 1. 冯诺依曼体系结构 1.1 结构分析 不管是何种计算机&#xff0c;如个人笔记本电脑&#xff0c;服务器&#xff0c;都是遵循冯诺依曼结构。…...

面试中顺序表常考的十大题目解析

在数据结构与算法的面试中&#xff0c;顺序表是一个常见的考点。它作为一种基础的数据结构&#xff0c;涵盖了多种操作和概念&#xff0c;以下将详细介绍面试中关于顺序表常考的十大题目。 &#x1f49d;&#x1f49d;&#x1f49d;如果你对顺序表的概念与理解还存在疑惑&#…...

测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布

2024年9月29日&#xff0c;MeterSphere开源持续测试工具正式发布v3.3版本。 在这一版本中&#xff0c;接口测试方面&#xff0c;接口导入功能支持导入Postman、JMX、HAR和MeterSphere格式的文件&#xff0c;接口场景的自定义请求步骤支持cURL快捷导入&#xff1b;测试管理方面…...

TypeScript 算法手册 【归并排序】

文章目录 1. 归并排序简介1.1 归并排序定义1.2 归并排序特点 2. 归并排序步骤过程拆解2.1 分割数组2.2 递归排序2.3 合并有序数组 3. 归并排序的优化3.1 原地归并排序3.2 混合插入排序案例代码和动态图 4. 归并排序的优点5. 归并排序的缺点总结 【 已更新完 TypeScript 设计模式…...

生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础

生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础 MOA&#xff08;Mechanisms Of Action&#xff0c;作用机理&#xff09; 过去&#xff0c;在药物投入到临床使用之前&#xff0c;它的生物学机理往往未被研究透彻。如今&#xff0c;随着技术的发展&#xff0c;一种新药物…...

基础岛第3关:浦语提示词工程实践

模型部署 使用下面脚本测试模型 from huggingface_hub import login, snapshot_download import osos.environ[HF_ENDPOINT] https://hf-mirror.comlogin(token“your_access_token")models ["internlm/internlm2-chat-1_8b"]for model in models:try:snapsh…...

vscode中配置python虚拟环境

python虚拟环境作用 Python虚拟环境允许你为每个独立的项目创建一个隔离的环境&#xff0c;这样每个项目都可以拥有自己的一套Python安装包和依赖&#xff0c;不会互相影响。实际使用中&#xff0c;可以在vscode或pycharm中使用虚拟环境。 1.创建虚拟环境的方法&#xff1a; …...

chatGPT对我学术写作的三种帮助

chatGPT对我学术写作的三种帮助 概述提高学术写作水平大模型选择概述上下文以提供精确的指令 提升同行评审优化编辑反馈 概述 从生成式人工智能中获得的价值并非来自于技术本身盲目地输出文本&#xff0c;而是来自于与工具的互动&#xff0c;并利用自身的专业知识来完善它所生…...

【PostgreSQL 】入门篇——支持的各种数据类型介绍,包括整数、浮点数、字符串、日期、JSON、数组等

1. 整数类型 1.1 SMALLINT 描述&#xff1a;用于存储小范围的整数值。大小&#xff1a;2 字节范围&#xff1a;-32,768 到 32,767使用场景&#xff1a;适合存储小型计数器、状态码等。示例&#xff1a; CREATE TABLE status_codes (id SMALLINT PRIMARY KEY,description TEX…...

野火STM32F103VET6指南者开发板入门笔记:【1】点亮RGB

硬件介绍 提示&#xff1a;本文是基于野火STM32F103指南者开发板所写例程&#xff0c;其他开发板请自行移植到自己的工程项目当中即可。 RGB-LEDPin引脚&#xff1a;低电平-点亮&#xff0c;高电平-熄灭REDPB5GREENPB0BLUEPB1 文章目录 硬件介绍软件介绍&#xff1a;结构体方式…...

数据工程师岗位常见面试问题-3(附回答)

数据工程师已成为科技行业最重要的角色之一&#xff0c;是组织构建数据基础设施的骨干。随着企业越来越依赖数据驱动的决策&#xff0c;对成熟数据工程师的需求会不断上升。如果您正在准备数据工程师面试&#xff0c;那么应该掌握常见的数据工程师面试问题&#xff1a;包括工作…...

强大的JVM监控工具

介绍 在生产环境中&#xff0c;经常会遇到各种各样奇葩的性能问题&#xff0c;所以掌握最基本的JVM命令行监控工具还是很有必要的 名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用…...

python 实现点的多项式算法

点的多项式算法介绍 点的多项式算法通常指的是通过一组点&#xff08;即数据点&#xff0c;通常包括自变量和因变量的值&#xff09;来拟合一个多项式函数的方法。这种方法在数值分析、统计学、机器学习等领域中非常常见。下面是一些常见的多项式拟合算法&#xff1a; 1. 最小…...

推荐网站建设的电销该怎么打/新东方

目录 写在前面 操作步骤 总结 写在前面 昨天有朋友问我在nhibernate中如何使用sqlite数据库&#xff0c;当时实在忙的不可开交&#xff0c;下周要去山西出差&#xff0c;实在没空&#xff0c;按我的说法使用sqlite跟使用sqlserver&#xff0c;本质上其实没啥区别&#xff0c;nh…...

网站开发属于技术合同/中国培训网的证书含金量

参考博文&#xff1a;http://www.blogjava.net/robbie/archive/2009/04/05/264003.html 博文学习重点&#xff1a; 第四种方式&#xff1a;使用tx标签配置的拦截器 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springf…...

建设银行信用卡官网站首页/线上广告

题目 题目链接 题解 实现题。 比较简单的。 算是一个告诉你贪心思路的贪心题吧。 尽可能的做编号小的菜&#xff0c;每个菜受限于每一种食材&#xff0c;用拥有的每一种食材的数量除以菜品所需的此食材的数量&#xff0c;就是这个菜品如果只受限于此食材最多能做多少道&…...

仿别人的网站/中国百强城市榜单

路径:flightmare/src/flightmare/flightrl/examples 尝试运行&#xff1a;python run_drone_control.py 运行指令&#xff1a; python3 run_drone_control.py --train 0 --render 1前期准备&#xff1a; anaconda建立python3.6的库&#xff1a; conda create -n flightmare …...

网站诊断方法/北京网站建设东轩seo

引言&#xff1a;作为资深老鸟&#xff0c;有事没事&#xff0c;出去面试&#xff1b;找准差距、定位价值。面试必谈哈希&#xff0c;Q1&#xff1a;什么是哈希?Q2&#xff1a;哈希为什么快?Q3&#xff1a;你是怎么理解哈希算法利用空间换取时间的&#xff1f;Q4&#xff1a;…...

如何做购物网站推广/如何用百度平台营销

1&#xff09;在Slave 服务器上执行sart slave命令开启主从复制开关&#xff0c;开始进行主从复制。 2&#xff09;此时&#xff0c;Slave服务器的IO线程会通过在master上已经授权的复制用户权限请求连接master服务器&#xff0c;并请求从执行binlog日志文件的指定位置&#xf…...