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

c语言中的数组(上)

数组的概念

数组是⼀组相同类型元素的集合;
数组中存放的是1个或者多个数据,但是数组元素个数不能为0。
数组中存放的多个数据,类型是相同的。
数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组。

数组创建

在C语言中,数组的创建有多种方式,以下是具体介绍:
 
一维数组创建

type 指定的是数组中存放数据的类型,可以是: char、short、int、float 等,也可以⾃
定义的类型。
arr_name 指的是数组名的名字,这个名字根据实际情况,起的有意义就⾏。
[ ] 中的常量值是⽤来指定数组的⼤⼩的,这个数组的⼤⼩是根据实际的需求指定就⾏。

 
指定大小创建:在创建数组时明确指定数组的大小,格式为 数据类型 数组名[数组大小] 。例如, int arr[5] 创建了一个名为 arr 的整型数组,它可以存储5个整数。
根据初始化值个数确定大小创建:通过初始化列表中的元素个数来确定数组的大小。例如, int arr[] = {1, 2, 3, 4, 5} ,编译器会根据初始化列表中元素的个数自动确定数组 arr 的大小为5。
 
 字符数组创建
 
逐个字符初始化创建:可以逐个字符地对字符数组进行初始化。例如, char str[6] = {'h', 'e', 'l', 'l', 'o', '\0'} 创建了一个名为 str 的字符数组,用于存储字符串"hello",注意字符串末尾需要一个'\0'作为结束标志。
使用字符串常量初始化创建:更常用的方式是使用字符串常量来初始化字符数组。例如, char str[] = "hello" ,编译器会自动在字符串末尾添加'\0',数组 str 的大小为6,包括'\0'所占的空间。
 
创建数组时,数组大小必须是常量表达式,不能是变量,这样编译器才能在编译时确定数组所需的内存空间。

一维数组的使用

学习了⼀维数组的基本语法,⼀维数组可以存放数据,存放数据的⽬的是对数据的操作,那我们如何使⽤⼀维数组呢?

数组下标

C语⾔规定数组是有下标的,下标是从0开始的,假设数组有n个元素,最后⼀个元素的下标是n-1,下标就相当于数组元素的编号,如下:
在C语⾔中数组的访问提供了⼀个操作符 [ ] ,这个操作符叫:下标引⽤操作符。
有了下标访问操作符,我们就可以轻松的访问到数组的元素了,⽐如我们访问下标为7的元素,我们就 可以使⽤ arr[7] ,想要访问下标是3的元素,就可以使⽤ arr[3] ,是下标,不是你想访问的数组。

数组元素的打印

如果想要访问整个数组的内容,那怎么办呢?

 

只要我们产⽣数组所有元素的下标就可以了,那我们使⽤for循环产⽣0~9的下标,接下来使⽤下标访问就⾏了。

 

 

http://www.lryc.cn/news/525534.html

相关文章:

  • Unity3D仿星露谷物语开发25之创建时钟界面
  • 数据结构测试题1
  • android wifi AsyncChannel(WifiManager和WifiP2pManager)
  • 【Image Captioning】DynRefer
  • Midjourney基础-常用修饰词+权重的用法大全
  • 没有屋檐的房子-023粪堆旁边的舞蹈
  • 基于Docker的Kafka分布式集群
  • 【博客之星】年度总结:在云影与墨香中探寻成长的足迹
  • SpringBoot的Swagger配置
  • machine learning knn算法之使用KNN对鸢尾花数据集进行分类
  • C语言练习(16)
  • SOAFEE 技术研讨会:汽车软件定义与自动驾驶技术探讨
  • R语言学习笔记之开发环境配置
  • 多版本并发控制:MVCC的作用和基本原理
  • ubuntu18.04安装nvm管理本机node和npm
  • 【数据结构进阶】红黑树超详解 + 实现(附源码)
  • leetcode_3092. 最高频率的 ID
  • 鸿蒙仓颉环境配置(仓颉SDK下载,仓颉VsCode开发环境配置,仓颉DevEco开发环境配置)
  • 数据统计–图形报表(day11)
  • 源码分析之Openlayers样式篇CircleStyle类
  • 解决CentOS9系统下Zabbix 7.2图形中文字符乱码问题
  • AF3 FourierEmbedding类源码解读
  • vsftpd虚拟用户部署
  • MySQL 容器已经停止(但仍然存在),但希望重新启动它,并使它的 3306 端口映射到宿主机的 3306 端口是不可行的
  • 汇编实验·顺序程序设计
  • AIGC视频扩散模型新星:Video 版本的SD模型
  • HarmonyOS:通过(SQLite)关系型数据库实现数据持久化
  • 10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析
  • STM32更新程序OTA
  • MarsCode青训营打卡Day10(2025年1月23日)|稀土掘金-147.寻找独一无二的糖葫芦串、119.游戏队友搜索