首页 > 其他分享 >数组的定义和使用

数组的定义和使用

时间:2023-11-03 23:34:18浏览次数:28  
标签:定义 int 元素 number 数组名 数组 使用

数组是一种容器,常用于存储一些相同类型的元素,且一旦创建不能改变大小。

  1. 一般格式:

  < 类型 > 变量名称  [ 元素数量 ];

    列如:

 

     int number [10];

  Striing student[3];

    .......

 

 注意:元素数量必须是整数,且变量名称不能为关键字要满足命名规则。

      2.数组的基本使用:

  数组在内存中是连续存放的,在引用数组元素时,直接用数组名加上它的下标,本质是引用它的地址。下标范围为[ 0 , n - 1],其中n为数组元素个数。数组大小可用sizeof()操作符,以字节为单位。sizeof(数组名)即求的时整个数组的长度。

  随着数组下标的增长,元素的地址,也在有规律的递增。

 

  数组的初始化:

可以整体赋值

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

也可以遍历每个元素赋值:

int number[5];
    for(int i = 0; i < 5; i++)
    {
        scanf("%d",&number[i]);
    }

 

     数组的遍历输出:

for(int i = 0; i<5;i++)
    {
        printf("number[%d] = %d\n",i,number[i]);
    }

  运行结果:

  同样,二维数组及多维数组的使用类似,注意二维数组不可省略列下标,以及多维数组的遍历要用到循环嵌套来输出。

  

   3.总结以及个人体会:

1. 定义和声明:通过指定元素类型和数组大小来定义数组。数组的声明告诉编译器变量的类型和名称,而定义则分配了实际的内存空间。

2. 连续内存分配:数组的元素在内存中是连续存储的,这使得数组具有随机访问的能力。可以通过索引值迅速访问和修改数组中的任何元素。

3. 固定大小:数组的大小在定义时确定,并且不能动态改变。因此,在使用数组时需要提前估计元素数量并设置合适的大小,以避免内存溢出或浪费。

4. 数组名即指针:数组名实际上是指向数组首元素的指针。可以通过数组名来访问和操作数组中的元素,也可以将数组名作为指针传递给函数,以便在函数中对数组进行修改。

5. 数组初始化:可以在定义数组时进行初始化。可以使用花括号初始化列表,也可以使用循环逐个赋值。初始化数组可以提高代码的可读性和效率。

6. 数组遍历:可以使用循环结构(如for循环、while循环)遍历数组中的元素。通过控制循环变量作为索引,可以逐个访问和处理数组中的元素。

7. 多维数组:C语言支持多维数组,例如二维数组和三维数组。多维数组实际上是数组的数组,可以使用嵌套的方括号进行定义和访问。

8. 数组的局限性:C语言数组具有一些限制。数组的大小必须在编译时确定,无法动态改变。同时,数组作为函数参数传递时,只传递了指针,无法直接获取数组的长度。

 

标签:定义,int,元素,number,数组名,数组,使用
From: https://www.cnblogs.com/one-1/p/17808735.html

相关文章

  • Langchain-Chatchat项目:4.2-P-Tuning v2使用的数据集
      本文主要介绍P-tuning-v2论文中的5种任务,分别为Glue任务、NER任务、QA任务、SRL任务、SuperGlue任务,重点介绍了下每种任务使用的数据集。一.Glue任务  GLUE(GeneralLanguageUnderstandingEvaluation)是纽约大学、华盛顿大学等机构创建了一个多任务的自然语言理解基准和分......
  • 如何使用 Linux xargs 命令
    一、xargs命令是什么?该xargs命令构建并执行通过标准输入提供的命令。它接受输入并将其转换为另一个命令的命令参数。此功能在文件管理中特别有用,可与rm、cp、mkdir和其他类似命令结合使用。  二、使用xargs命令示例单独使用时,xargs提示用户输入文本字符串,然后将其传递......
  • 了解交换口的链路类型以及实际使用场景(access篇)
    作者:网络之路一天 首发公众号:网络之路博客(ID:NetworkBlog)VLAN在数据包中如何体现?在上一篇实际测试了,从PC2访问PC1的时候,ARP请求广播包,只从E0/0/2发送给E0/0/3,这是因为两个口都配置成了accessvlan10里面,那一个数据包过来交换机它具体是如何处理的呢?,这就要了解下VLAN以及access处理......
  • linux使用top命令java进程占用65%内存和160%CPU,是因为什么咋解决?
    Java进程占用大量内存和CPU的原因可能有多种,以下是一些可能的原因和解决方法:内存泄漏:Java应用程序可能存在内存泄漏,即未正确释放不再使用的内存。您可以使用Java内存分析工具(如VisualVM、MAT等)来检测和分析应用程序的内存使用情况,并查找潜在的内存泄漏问题。一旦发现内存泄漏,您可以......
  • Visual Studio使用Git忽略不想上传到远程仓库的文件
    前言作为一个.NET开发者而言,有着宇宙最强IDE:VisualStudio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为VisualStudio有着众多的拓展工具。废话不多说,直接进入正题。我们日常在使用VisualStudio开发相关的.NET项目时,经常会发现刚......
  • 树状数组用线段树来写
    #include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=5e5+10;inta[N],tag[N<<2];struct{ struct{ intl,r,sum; }tr[N<<2]; voidpush_up(inti){ tr[i].sum=tr[i<<1].sum+tr[i<<1|1].sum; } voidbuild(inti......
  • 什么是堆栈跟踪,我如何使用它来调试应用程序错误?
    内容来自DOChttps://q.houxu6.top/?s=什么是堆栈跟踪,我如何使用它来调试应用程序错误?当我运行我的应用程序时,有时会出现一个错误,看起来像这样:Exceptioninthread"main"java.lang.NullPointerExceptionatcom.example.myproject.Book.getTitle(Book.java:16)......
  • 从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息
    在part00中提到过,zabbix在整个结构中,只起到发起报警,并将信息推送给Python脚本的作用。所以此文的主要目的就是描述如何配置zabbix的报警媒介。zabbix可以通过配置报警媒介的方式,来自定义的接收报警信息。查看AlertScriptsPath配置报警脚本可以是shell、py或者其他各种格式类型的可......
  • 使用C++实现Range序列生成器
    在C++编程中,经常需要迭代一系列数字或其他可迭代对象。通常,这需要编写复杂的循环结构,但有一种精妙的方法可以使这一过程变得更加简单和可读。如果你使用过Python语言那么一定对Range语句非常的数据,我们可以使用C++来实现一个简单的Range封装,如下代码定义了一个名为Range的命名空间......
  • 使用C++实现Range序列生成器
    在C++编程中,经常需要迭代一系列数字或其他可迭代对象。通常,这需要编写复杂的循环结构,但有一种精妙的方法可以使这一过程变得更加简单和可读。如果你使用过Python语言那么一定对Range语句非常的数据,我们可以使用C++来实现一个简单的Range封装,如下代码定义了一个名为Range的命名空间,......