数组的介绍以及其详细使用需要注意的地方

C语言之数组的定义及其使用方法 数组是一组相同类型元素的集合,数组的创建方式: 数组类型 数组名 数组长度的大小(常量表达式) 例如:int arr[10]; √ int count=10; int arr2[count];×(必须是常量表达式) Char arr3[10];√ Float arr4[11];√ Double arr5[20];√ 数组元素的初始化 int arr[10]={1,2,3};这种叫做不完全初始化,剩下没有给定初始值的元素默认初始值为0.,字符数组同理也是如此。 不过字符串数组比较特殊,在部分初始化之后,没有初 阅读详情

    苍老师班里面有5个学生,经过了一次考试,需要保存这5个学生的成绩需要5个变量

 

    100个学生

    又经历一次考试,每个学生的成绩都要保存起来要保存100个数据,就需要用100个变量,非常的不方便

 

    所以我们就在想有没有一种变量,可以保存100个不同的数据

 

 

    有!

 

    数组!

 

    数组就可以用1个变量保存多个不同的数据

 

 

    数组的语法:

            

    类型  数组名[正整数];

 

            正整数就是你这个变量要保存多少个数据

 

        例:int nums[10];  //保存10个int数据

                char  chs[5];  //保存5个字符数据

 

 

 如果访问数组中的每个数据

 

        取值:

            数组名[编号];

 

          例:nums[0];  //取第一个元素  也可以称之为 取下标为0的元素

 

      赋值:

               nums[0] = 30; //给第一个元素赋值  给下标为0的元素赋值

 

 

        元素:就是小空间里面实际存放的数据

        下标/索引:就是小空间的编号

        长度:数组实际能保存的数据的个数

 

 

注意点:

    数组的下标最大值 =  长度 - 1;


数组的定义:

    语法:

        类型  数组名[长度];

 

 

 

 数组的赋值:

 

        首先要注意,数组没法像基本类型数据一样可以直接变量名 = 值

 

    1.先声明,后赋值

 

        类型  数组名[长度];

        数组名[下标] = 数据;

 

    2.在声明的时候初始化

 

       1) 类型  数组名[长度] = { 数据1,数据2,数据3,………… 数据n};

 

            例:  int nums[3] = {10,20,30};

 

 

       2) 类型  数组名[] = { 数据1,数据2,数据3,………… 数据n};

            意思就是,不给长度的时候,编译器会自动根据你右边的数据个数来判断你的长度

            例:  int nums[] = {30,20,50}; //长度是?长度是3

 

 

 

       3)类型  数组名[长度] = {数据1,数据2}; 简而言之就是给的数据小于长度

            例:   int nums[5] = {1,2}; //长度是?长度就是5,只不过你给下标0,下标1赋值了,其他没有赋值

 

 

 

       4)类型 数组名[长度] = { [下标] = 数据1,[下标] = 数据2,………………};

 

            例: int nums[5] = { [3]=1 ,[2]=2,[0]=10,[1]=20,[4]=100 };

 

 

 遍历数组:

    就是用循环依次访问数组中的每一个元素

 

 数组的越界:

    就是访问了不属于自己空间的元素

 

    运行时会报错,也可能是未知的异常!

 

     最大的可访问的下标  = 长度 - 1

 

计算数组的长度:

 

            sizeof(数组名)

           

    得到这个数组占用内存的总长度

 

 

    公式:

        sizeof(数组名) / sizeof(数组类型);



【LLC快速上手系列】LLC轻载时,死区时间怎么调才对?别再傻傻乱搞了! 死区时间,就是指。如果你死区设得好,就能让开通前 ( V_DS to 0 ),完美实现! 阅读详情

相关推荐

手把手教你配置RK3588的FFmpeg+RKmpp:从解码到RGA转换的完整避坑指南

本文详细介绍了在RK3588平台上配置FFmpeg+RKmpp进行硬件解码和RGA图像处理的完整流程,包括环境准备、DRM Prime解码输出实战、RGA硬件加速转换技巧以及全链路性能调优。通过具体代码示例和问题排查指南,帮助开发者高效实现视频处理流水线,显著提升性能并降低CPU占用率。

weixin_28366475的博客 473

数组注意事项

定义格式 int[] arr1 = new int[5]; int[] arr2 = new int[]{1,2,3,4,5};System.out.println(arr[2]); // 输出的是地址值 -- 数组是引用数据类型 arr 指向的是地址值 内存 分配 :   栈  :待执行方法 局部变量 。。   堆 ...

app10011的博客 160

RT-Thread 5.1.0 实战:手把手教你用CubeMX和RT-Studio创建第一个工程(附常见编译错误修复)

本文详细介绍了如何使用STM32CubeMX和RT-Thread Studio 5.1.0创建第一个RT-Thread工程,包括开发环境准备、CubeMX配置、工程整合及常见编译错误修复。通过实战指南,帮助开发者快速上手RT-Thread 5.1.0,解决开发过程中的典型问题,提升嵌入式开发效率。

weixin_29165465的博客 285

函数传递数组需要注意的地方

首先从一个错误的程序开始,这个程序想要从一个给定的数组建立一个链表把数组的元素放进去,代码如下: /*定义了结点的结构体*/ struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; /*打印链表*/ void display(ListNode *Lis

jiatang11112的专栏 545

001:InVEST学习——产水/水源涵养

InVEST产水模块介绍 前言 (一些碎碎念着急的可以忽略)最开始做inVEST模型是2020年中,应该说对这个软件有很特殊的感情,之前一直想出一个教程,但是因为事情多加上拖延加上懒就耽搁了,事实证明东西不用就确实荒废了,现在面对当初自己做的东西顶多也就能想起一些思路,很多细节都忘了,所以这个教程也相当于是一个备忘录吧。 ...

Victoriaac的博客 2万+

带标签的PHM2009齿轮箱数据集

PHM2009附加数据集—带标签的齿轮箱数据集,可用于测试算法

qq_39379705的博客 4873

学习数组时要注意的地方

要注意的地方:     1.如果数组中某一项的值是null或者undefined,那么改值在join()、toLocaleString()、toString()和valueOf()方法返回的结果中以空字符串表示      如下:   var colors=["red",null,"green",undefined,"blue",null]; var colors1=Array(10); co

y4786924的专栏 728

virtuoso--DFF

27-实验课-std_cell2

qq_61440044的博客 2004

数组,数组的定义,数组的注意事项

数组 数组的概念:是一种容器,可以同时存放多个数据值。 数组的特点: 1. 数组是一种引用数据类型 2. 数组当中的多个数据,类型必须统一 3. 数组的长度在程序运行期间不可改变 数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。 两种常见的初始化方式: 1. 动态初始化(指定长度) 2. 静态初始化(指定内容) 动态初始化数组的格式: 数据类型[] 数组名称 = new 数...

DJyzh的博客 4731

我终于停止写 JUnit 了!用 JavaParser + GPT-4 自动生成 90% 覆盖率的单元测试

本文介绍了一种基于JavaParser和GPT-4的智能单元测试生成方案。针对开发者在单元测试编写中面临的繁琐、无聊和硬指标等问题,提出通过AST语法树分析代码结构,提取关键信息后生成精准提示词,再调用GPT-4自动生成高质量的单元测试代码。文章详细阐述了技术原理、实现步骤(包括JavaParser解析、上下文感知提示词构建和GPT-4调用),并展示了该方法能自动识别依赖、Mock对象和覆盖边界条件,显著提升测试效率。同时指出了在复杂数据结构、私有方法测试等方面的局限性,最终强调这种技术组合可以解放开发者,

BUG猿的博客 1128

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数组的使用的注意事项

一. 数组的初始化 for循环初始化   可以先定义,后初始化 ; 列表初始化   定义和初始化必须在一起;结构的初始化也是这样。 int arr[5]; arr[5]={1,2,3,4,5}; // error int arr[5]={1,2,3,4,5}; //right 二、数组和指针的关系  首先数组和指针是完全不一样的存在,只是访问形式存在相似。指针是在内存中有一个单元存...

qq_34915122的博客 3139

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java本地方法_在 Windows 中实现 Java 本地方法

在 Windows 中实现 Java 本地方法David Wendt1999 年 5 月 01 日发布简介本文提供调用本地 C 代码的 Java代码示例,包括传递和返回某些常用的数据类型。本地方法包含在特定于平台的可执行文件中。就本文中的示例而言,本地方法包含在Windows 32 位动态链接库 (DLL) 中。不过我要提醒您,对 Java 外部的调用通常不能移植到其他平台上,在applet 中还...

weixin_39830233的博客 275

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

《学习笔记Day05补充》数组的超详细概念

一、数组 1、数组:就是用于存储相同数据类型的数据的容器 2、使用数组的原因: (1)没有数组:存在多个变量,每一个变量都需要有一个名称,并且在一个作用域内,这些名称还不能重复,如果要使用数据,会导致名称过多的记忆不便,还会导致名称复杂不好管理。对于后期的维护,产生非常多的不必要的麻烦。 (2)有数组:只需要使用一个容器,容器具有一个名字,以后只需要寻找这个容器,就可以得到所有数据。数据在容器中存储有物理结构的位置关系,每一个位置都有编号,只需要通过编号,就可以找到指定的数据,方便维护和操作数据。 3、定义

阿福真的不想掉头发的博客 339

一维数组与二维数组———详细解读及一些注意事项

对于一维数组以及二维数组的深入了解,以及一些注意事项及二维数组的应用实例。

诺诺的包包 1860

数组介绍及其内存图

Java中关于数组的基础知识及简单练习

2301_80709894的博客 1235

数组的详细介绍

一维数组,二维数组

Y0_1Y的博客 2068

[C#] 关于数组的详细解释以及使用注意点

C#数组是一种基本且强大的数据结构,它允许开发者存储和操作一组相同类型的数据。

sky_smile_Allen的博客 646

c++数组详细介绍

深入理解C++的数组和字符串是成为熟练C++程序员的重要一步。本文将探索C++中数组和字符串的基本概念,从基础到进阶,包括数组的声明、初始化、访问和多维数组的操作,以及字符串类的使用和与字符数组的转换。还将涉及异常处理、动态内存分配、STL中的其他容器、常用字符串操作。有时,可以根据具体的应用场景自定义异常类,以便更好地捕获和处理特定类型的错误。public:try {// 错误的数组越界访问return 0;

shopeeai的博客 1480

用Arrays.asList()进行数组转换要注意的地方

前言 最近使用Arrays.asList()遇到了一些坑,然后在网上看到这篇文章:Java Array to List Examples 感觉挺不错的,但是还不是特别全面。所以,自己对于这块小知识点进行了简单的总结。 简说 Arrays.asList()在平时开发中还是比较常见的,我们可以使用它将一个数组转换为一个List集合。 String[] myArray = { "Apple", "Banana", "Orange" }; List<String> myList = Arrays.as

weixin_39098944的博客 953

指针的详细使用介绍

指针简介  指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理...

yu121380的博客 6945

Elasticsearch 数组值的存储详细介绍

在Elasticsearch中,数组字段的处理是直观和灵活的。你不需要特别声明一个字段为数组类型,Elasticsearch会自动处理多值字段。数组可以存储不同类型的数据,包括字符串、整数、对象等。查询数组字段时,Elasticsearch会对数组中的每个元素应用查询条件。这种灵活性使得Elasticsearch非常适合处理复杂的数据结构,但是要注意查询数组字段时可能会对性能产生影响,特别是当数组很大时。

龙大的博客 2573

C# 数组的详细使用介绍

C# 数组的详细使用介绍

weixin_39604653的博客 556

Java中数组的使用和注意事项

一.初始数组 数组的概念:数组就是一个用来存储相同类型数据的一个容器。 为什么要使用数组? 当我们要存储大量相同类型的时候,通过配合循环来使用就会大量减少代码复杂程度 数组的特点: (1)数组是一种引用类型. (2)数组的长度是固定的. (3)数组中每个元素的类型都是相同的. 二.数组的创建 对于数组的创建,这里和c/c++还是有些不同的,这里创建数组的方法共有三种方法,下面就以数组里面元素为int类型,数组大小为5的举例,如下所示: (1) 静态初始化 int[] arr = {1,

weixin_47651920的博客 2224

JavaScript一些使用需要注意的地方

加法与连接注意事项 加法是两个数字相加。 连接是两个字符串连接。 JavaScript 的加法和连接都使用 + 运算符。 接下来我们可以通过实例查看两个数字相加及数字与字符串连接的区别 var x = 10 + 5; // x 的结果为 15 var x = 10 + "5"; // x 的结果为 "105" var x = 10; var y = 5; var z = x + y; // z 的结果为 15 var x = 10;

littlemarscss的博客 239
上一篇: 预处理指令(神秘的include#)
下一篇: 数组作为函数参数时的使用注意
iOS_houyimin
博客等级 码龄11年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值