C 数组

2023-05-16

		<div class="article-intro" id="content">

C 数组

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、...、runoob99,而是声明一个数组变量,比如 runoob,然后使用 runoob[0]、runoob[1]、...、runoob[99] 来代表一个个单独的变量。

所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

C 中的数组

数组中的特定元素可以通过索引访问,第一个索引值为 0。

声明数组

在 C 中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:


type arrayName [ arraySize ];  

这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:


double balance[10];  

现在 balance 是一个可用的数组,可以容纳 10 个类型为 double 的数字。

初始化数组

在 C 中,您可以逐个初始化数组,也可以使用一个初始化语句,如下所示:


double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};  

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:


double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};  

您将创建一个数组,它与前一个实例中所创建的数组是完全相同的。下面是一个为数组中某个元素赋值的实例:


balance[4] = 50.0;  

上述的语句把数组中第五个元素的值赋为 50.0。所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引,数组的最后一个索引是数组的总大小减去 1。以下是上面所讨论的数组的的图形表示:

数组表示

下图是一个长度为 10 的数组,第一个元素的索引值为 0,第九个元素 runoob 的索引值为 8:

访问数组元素

数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:


double salary = balance[9];  

上面的语句将把数组中第 10 个元素的值赋给 salary 变量。下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:

实例

#include < stdio.h >

int main ()
{
int n[ 10 ]; / n 是一个包含 10 个整数的数组 /
int i,j;

/ 初始化数组元素 /
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100; / 设置元素 i 为 i + 100 /
}

/ 输出数组中每个元素的值 /
for (j = 0; j < 10; j++ )
{
printf(Element[%d] = %d</span>n, j, n[j] );
}

return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:


Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109  

C 中数组详解

在 C 中,数组是非常重要的,我们需要了解更多有关数组的细节。下面列出了 C 程序员必须清楚的一些与数组相关的重要概念:

概念描述
多维数组C 支持多维数组。多维数组最简单的形式是二维数组。
传递数组给函数您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
从函数返回数组C 允许从函数返回数组。
指向数组的指针您可以通过指定不带索引的数组名称来生成一个指向数组中第一个元素的指针。
		</div>
		
	</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 数组 的相关文章

随机推荐

  • 2.2 分布式文件系统HDFS

    编程要求 1 在HDFS中创建 usr output 文件夹 xff1b 2 在本地创建hello txt文件并添加内容 xff1a HDFS的块比磁盘的块大 xff0c 其目的是为了最小化寻址开销 xff1b 3 将hello txt上传
  • 3.2 电信数据清洗

    任务描述 对数据按照一定规则进行清洗 清洗规则 xff1a 处理数据中的时间戳 xff08 秒级 xff09 将其转化为 34 年 月 日 时 分 秒 34 这种格式 xff1b 处理数据中的省份编码 xff0c 结合mysql的表数据对应
  • 4.1 Hbase的安装与简单操作

    第一关 Hbase数据库的安装 1 首先要在官网下载好Hbase的安装包 xff08 educoder已装到 opt目录下 xff09 2 将安装包解压到 app目录下 mkdir app cd opt ulimit f 1000000 t
  • numpy 多级排序 :lexsort 函数详解

    目录 1 lexsort 排的是个啥 2 举个例子 1 lexsort 排的是个啥 lexsort 函数的定义如下 xff1a def lexsort keys axis 61 None lexsort是一种多级排序方法 作用为对给定的 k
  • 5.1 Spark的安装与使用

    第一关 Scala语言开发环境的部署 1 下载解压 在Scala官网根据平台选择下载Scala的安装包scala 2 17 7 tgz 解压到 app目录下 xff1a mkdir app 创建 app 目录 cd opt tar zxvf
  • 5.7 Spark简单算子案例(Python版)

    第一关 WordCount 词频统计 编程要求 对文本文件内的每个单词都统计出其出现的次数 按照每个单词出现次数的数量 xff0c 降序排序 文本文件内容如下 xff08 单词与单词之间以空格进行分割 xff09 xff1a hello j
  • day01 开始

    一 介绍 夏培肃 造计算机第一代 李国杰 黄令仪 胡伟武 刘阳 底层 应用层 APP 金庸 xff1a 内练一口气 外练筋骨皮 内功 外功 操作系统 BIOS 3w 操作系统原理 计算机原理 STM32 100 30 70 上午 xff1a
  • day02 LED

    一 回顾 1 C int char short typedef 起别名 指针 函数 void fun T int x int y 结构体 2 嵌入式 以应用为中心 物联网的框架 xff1a 感知层 网络层 平台层 应用层 3 搭建开发环境
  • day03 timer

    一 回忆 计算机体系结构 总线的概念 数据总线 地址总线 控制总线 如 xff1a 0x12345678上放0x100 AHB AHB1 AHB2 APB1 APB2 编译原理 hello c 预处理 xff08 预处理器 xff09 he
  • ubuntu安装CMake

    CMake是什么呢 xff1f 根据百度百科的解释 xff0c CMake是一个跨平台的安装 xff08 编译 xff09 工具 xff0c 可以用简单的语句来描述所有平台的安装 编译过程 xff0c 能够输出各种各样的makefile或者
  • Ubuntu安装ifconfig工具

    安装命令 xff1a sudo apt install net tools
  • 通关必读—linux面试题(带答案)

    答案linux考试题 1 在登录Linux时 xff0c 一个具有唯一进程ID号的shell将被调用 xff0c 这个ID是什么 b A NID B PID C UID C CID 答 xff1a w命令查看用户tty终端信息 ps ef
  • shell判断整数变量的奇偶性

    为了简化问题和突出重点 xff0c 这里我们假设脚本的输入参数一定为合法的整数类型 xff0c 因而在脚本内部将不再进行参数的合法性判断 span class token punctuation span root 64 xieqichao
  • 《云计算全栈》-python篇:编写石头剪刀布小游戏、附带升级脚本-循环版石头剪刀布小游戏

    3 案例3 xff1a 编写石头剪刀布小游戏 3 1 问题 编写game py脚本 xff0c 实现以下目标 xff1a 计算机随机出拳 玩家自己决定如何出拳 代码尽量简化 123 3 2 方案 引用random模块生成0 2的随机数 xf
  • pytorch 层标准化 LayerNorm 的用法

    目录 1 为什么要标准化 xff08 理解的直接跳过到这部分 xff09 2 LayerNorm 解释 3 举例 只对最后 1 个维度进行标准化 4 举例 对最后 D 个维度进行标准化 1 为什么要标准化 xff08 理解的直接跳过到这部分
  • Python全套语法

    目录 学Python你应该get到的三句话 xff01 跟紧潮流不是随波逐流 xff01 投靠大佬不是投机取巧 xff01 赚取利益不是急功近利 xff01 Python全套语法重磅来袭 xff01 初识python之概念认知篇 初识pyt
  • 初识python之元组列表篇

    我们知道python的数据类型有 字符串 xff0c 数字 xff0c 列表 xff0c 元组 xff0c 字典 xff0c 函数等 xff0c 这些都是我们在进行实际开发中 xff0c 必备的一些基础性语法 xff0c 本期文章 xff0
  • Python如何把字典写入到CSV文件

    在实际数据分析过程中 xff0c 我们分析用Python来处理数据 xff08 海量的数据 xff09 xff0c 我们都是把这个数据转换为Python的对象的 xff0c 比如最为常见的字典 比如现在有几十万份数据 xff08 当然一般这
  • C 判断

    C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件 xff0c 以及条件为真时要执行的语句 xff08 必需的 xff09 和条件为假时要执行的语句 xff08 可选的 xff09 C 语言把任何非零和非空的值假定为 true x
  • C 数组

    lt div class 61 34 article intro 34 id 61 34 content 34 gt C 数组 C 语言支持数组数据结构 xff0c 它可以存储一个固定大小的相同类型元素的顺序集合 数组是用来存储一系列数据