C语言学习day14:数组定义和使用

    定义变量:
    数据类型 变量 = 值
    数组定义:
    数据类型 数组名[元素个数]={值1,值2,值3}

代码:

int main()
{//定义变量//数据类型 变量 = 值//数组定义//数据类型 数组名[元素个数]={值1,值2,值3}//数组下标 数组名[小标]//数组下标是从0开始 到数组元素个数-1int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };for (int i = 0; i < 10; i++){printf("%d\n", arr1[i]);}system("pause");return EXIT_SUCCESS;
}

也可以换个方法写:

int main()
{//定义变量//数据类型 变量 = 值//数组定义//数据类型 数组名[元素个数]={值1,值2,值3}//数组下标 数组名[小标]//数组下标是从0开始 到数组元素个数-1for (int i = 0; i < 10; i++){int arr2[] = { 1,2,3,4,5,6,7,8,9,10 };printf("%d\n", arr2[i]);}system("pause");return EXIT_SUCCESS;
}

输出都是:

数组元素参与计算

代码:

int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//数组元素参与计算arr[3] = arr[5];arr[2] = arr[3];for (int i = 0; i < 10; i++){printf("%d\n", arr[i]);}
}

 输出:

接下来我们看看数组在内存中的地址,它是怎样存放的;究竟是一个一个存还是一串全部存进去,究竟是连续性的还是不连续性的

代码:

int main()
{//数组在内存中的存储方式和大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//查看数组下标为0的地址printf("%p\n", &arr[0]);//0000002491FBF748printf("%p\n",&arr[1]);//0000002491FBF74C}

 输出:

内存中是以16进制来存储的,同时我们定义的数组是int类型,4个字节大小;

通过计算我们发现,它是连续的

由此我们得出结论:

数组是在内存中连续的相同类型的变量空间 

画一个图解释:

 同时,数组名是一个常量,指向数组首地址的常量

代码:

int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };printf("%p\n", &arr[0]);//0000002491FBF748printf("%p\n", arr);
}

输出:

接下来我们说说数组在内存中占的大小

代码:

int main()
{//数组在内存中的存储方式和大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };printf("数组在内存中占的大小=%d\n", sizeof(arr));
}

 输出:

可以看见我们的数组在内存中占了40个字节大小,因为sizeof的单位是int

我们的数组一共有10个值,每个值占了4个字节,因此 数组在内存中占40字节大小

因此我们可以得出结论:数组在内存中占的大小=数组类型(int类型=4字节)*元素个数

接下来我们验证一下我们得出的结论

代码:

int main()
{//数组在内存中的存储方式和大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };printf("数组在内存中占的大小=%d\n", sizeof(arr));printf("数组元素大小=%d\n", sizeof(arr[0]));
}

 输出:

 开始计算(代码):

int main()
{//数组在内存中的存储方式和大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };printf("数组在内存中占的大小=%d\n", sizeof(arr));printf("数组元素大小=%d\n", sizeof(arr[0]));printf("数组元素个数=%d\n", sizeof(arr) / sizeof(arr[0]));
}

输出结果:

接下来讲解求这些的作用:

其中之一:循环

代码:

int main()
{//数组在内存中的存储方式和大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++){printf("%d\n", arr[i]);}
}

 输出:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/683881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core WebAPI中封装Swagger配置

一、创建相关文件 创建一个Utility/SwaggerExt文件夹&#xff0c;添加一个类 二、在Program中找到Swagger相关配置信息 三、添加方法&#xff0c;在Program中调用 在SwaggerExt类中添加方法&#xff0c;将相关配置添写入 /// <summary> /// swagger配置 /// </sum…

初识Qt | 从安装到编写Hello World程序

文章目录 1.前端开发简单分类2.Qt的简单介绍3.Qt的安装和环境配置4.创建简单的Qt项目 1.前端开发简单分类 前端开发&#xff0c;这里是一个广义的概念&#xff0c;不单指网页开发&#xff0c;它的常见分类 网页开发&#xff1a;前端开发的主要领域&#xff0c;使用HTML、CSS …

[经验] 欧阳修唐宋八大家之首是谁 #微信#知识分享#学习方法

欧阳修唐宋八大家之首是谁 1、唐宋八大家之首是谁 唐宋八大家是中国文学史上最具代表性的八位大文豪&#xff0c;他们的文学成就在中国文学史上占有重要地位&#xff0c;被誉为文学史上的“巨人”。 唐宋八大家之首&#xff0c;无疑是唐代著名诗人杜甫。他出生在一个贫苦的家…

牛客——IncDec Sequence(差分)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 给定一个长度为 n(n≤105)(n \leq 10^5 )(n≤105) 的数列a1,a2,…,an{a_1,a_2,…,a_n}a1​,a2​,…,an​&#xff0c;每次可以选择一个区间 [l,r]&#xff0c;使下标在这个区间内的数…

每日一题 力扣107 二叉树的层序遍历Ⅱ

107. 二叉树的层序遍历 II 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 示例 1&#xff1a; 输入&#xff1a;root [3,9,20…

如何用 ChatGPT 做项目管理?

ChatGPT 可以通过创建和维护跨团队项目协作计划&#xff0c;让员工更容易理解他们的角色和职责。 这个协作计划里面会包括每个团队或个人要执行的具体任务&#xff0c;每个任务最后期限和任何事情之 间的依赖关系。 该场景对应的关键词库:(24 个) 项目管理、项目协作计划、跨…

操作 Docker 存储卷的常用指令汇总

1. 什么是存储卷&#xff1f; 存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立绑定关系。使得可以在宿主机和容器内共享数据库内容&#xff0c;让容器直接访问宿主机中的内容&#xff0c;也可以宿主机向容器写入内容&#xff0c;容…

(通信)驻波

驻波是一种物理现象&#xff0c;它发生在频率相同、传输方向相反的两种波&#xff08;不一定是电波&#xff09;沿传输线形成的一种分布状态。 在这种状态下&#xff0c;一个波通常是另一个波的反射波。 在驻波中&#xff0c;波节和波腹的位置始终保持不变&#xff0c;给人一种…

了解Ping、Wget、端口、Netstat和Curl命令

1. 端口 1.1 什么是端口&#xff1f; 端口是一种用于标识不同应用程序或服务的逻辑通道。它是一个数字&#xff0c;取值范围从0到65535。常见的端口有一些已经被标准化&#xff0c;比如HTTP使用的80端口&#xff0c;HTTPS使用的443端口。 1.2 了解端口状态 使用netstat -an…

【深度学习】Pytorch 系列教程(二):PyTorch数据结构:1、Tensor(张量): GPU加速(GPU Acceleration)

文章目录 一、前言二、实验环境三、PyTorch数据结构0、分类1、Tensor&#xff08;张量&#xff09;1. 维度&#xff08;Dimensions&#xff09;2. 数据类型&#xff08;Data Types&#xff09;3. GPU加速&#xff08;GPU Acceleration&#xff09;查看可用gpu张量移动经典语句d…

边缘计算第二版施巍松——第8章边缘计算系统实例

8.1边缘计算系统概述 1.Cloudlet 架构&#xff1a;移动设备-Cloudlet-云 cloudlet也可以像云一样为用户提供服务&#xff0c;Cloudlet离移动设备只有一跳的距离&#xff0c;具有物理距离的临近性&#xff0c;可以保证实时反馈时延低&#xff0c;又可以利用局域网的高带宽优势&…

(五)【Jmeter】使用代理录制HTTP脚本操作步骤及注意事项

前置信息 软件版本Jmeter5.6.3 服务网址备注drupalhttp://192.168.88.88:18080/&#xff08;二&#xff09;【Jmeter】专栏实战项目靶场drupal部署 用户名密码test1test1test2test2 实操记录 1、启动jmeter&#xff0c;操作顺序见下图 2、在视图面板添加如下信息&#x…

[office] Excel 数据库函数条件区域怎样设置 #笔记#笔记

Excel 数据库函数条件区域怎样设置 以下面的数据表格为例&#xff0c;对于条件区域的设置&#xff0c;有几方面需要注意的内容&#xff0c;下面就一起看看如何对Excel 数据库函数条件区域设置的吧。希望会大家有所帮助 以下面的数据表格为例&#xff0c;对于条件区域的设置&am…

计算机设计大赛 深度学习OCR中文识别 - opencv python

文章目录 0 前言1 课题背景2 实现效果3 文本区域检测网络-CTPN4 文本识别网络-CRNN5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习OCR中文识别系统 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;…

Lag-Llama:第一个时间序列预测的开源基础模型介绍和性能测试

2023年10月&#xff0c;我们发表了一篇关于TimeGPT的文章&#xff0c;TimeGPT是时间序列预测的第一个基础模型之一&#xff0c;具有零样本推理、异常检测和共形预测能力。 虽然TimeGPT是一个专有模型&#xff0c;只能通过API访问。但是它还是引发了对时间序列基础模型的更多研…

Unity如何修改预制体(预制件)?

文章目录 19 复制复制复制&#xff0c;预制体与变体 19 复制复制复制&#xff0c;预制体与变体 【预制件】 预制件作用&#xff1a;方便复用 【预制件】的制作 直接拖拽&#xff0c;从层级面板 -> 项目面板。层级面板中当前图标会变蓝&#xff0c;子物体名字变蓝色。预制件…

[经验] 做完腺样体手术打呼噜很严重怎么办 #媒体#笔记#经验分享

做完腺样体手术打呼噜很严重怎么办 1、打呼噜很严重怎么办 打呼噜是一种常见的睡眠障碍&#xff0c;不仅让睡眠质量变得很糟糕&#xff0c;也会影响室友或家人的睡眠质量。幸运的是&#xff0c;有许多方法可以减少打呼噜的发生率&#xff0c;从而让睡眠变得更好。 保持良好的…

具有集中目录服务器的 P2P 工作方式

P2P 工作方式概述 在 P2P 工作方式下&#xff0c;所有的音频/视频文件都是在普通的互联网用户之间传输。 具有集中目录服务器的 P2P 工作方式 Napster 最早使用 P2P 技术&#xff0c;提供免费下载 MP3 音乐。 Napster 将所有音乐文件的索引信息都集中存放在 Napster 目录服务…

ng : 无法加载文件 C:\Program Files\nodejs\node_global\ng.ps1, 因为在此系统上禁止运行脚本

ng : 无法加载文件 C:\Program Files\nodejs\node_global\ng.ps1&#xff0c;因为在此系统上禁止运行脚本 今天在VSCode中运行ng serve --port 8081运行基于Angular的项目时&#xff0c;报错了&#xff0c;错误如下图所示&#xff1a; 解决方法&#xff1a; 按照下图的5步即…

算法沉淀——哈希算法(leetcode真题剖析)

算法沉淀——哈希算法 01.两数之和02.判定是否互为字符重排03.存在重复元素04.存在重复元素 II05.字母异位词分组 哈希算法&#xff08;Hash Algorithm&#xff09;是一种将任意长度的输入&#xff08;也称为消息&#xff09;映射为固定长度的输出的算法。这个输出通常称为哈希…