首页 > 其他分享 >一维数组的定义

一维数组的定义

时间:2024-11-26 13:34:30浏览次数:11  
标签:10 下标 一维 int 元素 c++ 数组 定义

数组的定义

定义格式如下:

类型名 数组名 [常量表达式];

例如:

int a[10]; 

Copy

说明:

  1. 类型名是指数组元素的类型,它可以是任何类型,同一个数组中的元素具有相同类型。因此我们可以说,数组是由固定数量的相同类型的元素组成。上面例子中int说明这个数组的类型是整数类型。

  2. 数组名必须是标识符,而数组元素的个数由常量表达式决定,这个值必须是正整数常量表达式,不能是变量或含有变量的表达式。上面例子中a是这个数组的数组名,[10]是这个数组元素的个数。

  3. 数组元素的个数由常量表达式决定,数组下标从 0 开始。因此,如果你定义了一个含有 n 个元素的数组变量,只能够从 0 引用到 n-1 。例如int a[10]; 这个数组的下标为0~9,其元素分别为a[0]、a[1]、 a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。C++不检查数组下标是否越界!如果下标越界,程序会崩溃!

  4. 定义一维数组元素可以直接赋初始值,如int a[5]={10,20,30,40,50} 则他们的值为 a[0] 是 10 、a[1]是 20 、a[2]是 30 、a[3]是 40 、a[4]是 50 。

注意:如果你想要使用10个数组变量,而且想这些变量的下标名是1~10,那么定义数组就应该为int a[11]。在这个数组中定义了 11 个数组元素,我们在使用的时候可放弃下标0不用,直接从1开始用,就可以实现10个数组元素的下标从 1~10 。这个方法比较适合小学生在刚开始学习使用数组时使用。

补充说明

在 c++ 新的语法规范(c++11,这是2011年通过的新语法规范),可以使用下面的格式定义数组:

类型名 数组名 [变量表达式];

具体的例子是:

int n = 100;
int a[n];

Copy

上述的这个写法在 c++98 的规范里面是错误的,但是在 c++11 规范之下是合法的。编译器不一定支持 c++ 11 的标准。很多严肃的比赛会提前说明最后评测是采用哪一套语法标准。

作为初学者,可以先按照 c++98 的规范来写程序(也就是说,中括号里面用常量,而不是变量去定义数组的大小)。

在本网站中,可以通过设置 偏好设置 来指定采用哪一个 c++ 语法标准。

标签:10,下标,一维,int,元素,c++,数组,定义
From: https://blog.csdn.net/FlechazoLZR/article/details/144056711

相关文章

  • GaussDB数据库SQL系列-自定义函数
    一、前言华为云GaussDB数据库是一款高性能、高安全性的云原生数据库,在GaussDB中,自定义函数是一个不容忽视的重要功能。本文将简单介绍一下自定义函数在GaussDB中的使用场景、使用优缺点、示例及示例解析等,为读者提供指导与帮助。二、自定义函数(Function)概述在SQL中,自定义函数(Fu......
  • GaussDB数据库SQL系列-定义重载函数
    一、前言在本文中,我们将介绍GaussDB数据库中的用户定义函数重载的概念、用法以及示例。用户定义函数是SQL中常用的“编程工具”,允许我们自定义函数来处理和操作数据。而函数重载则是指在一个数据库中定义多个具有相同名字但参数不同的函数,以此实现不同的功能。二、函数重载的......
  • GaussDB SQL基础语法示例-数组表达式
    一、前言SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。欢迎使用GaussDB数据库数组表达式。在本文中,我们将介绍GaussDB数据库中数组表达式的概念、语法......
  • 自定义MyBatis分页插件和自定义慢SQL统计插件实践
    ......
  • LeetCode题练习与总结:数组中两个数的最大异或值--421
    一、题目描述给你一个整数数组 nums ,返回 nums[i]XORnums[j] 的最大运算结果,其中 0≤i≤j<n 。示例1:输入:nums=[3,10,5,25,2,8]输出:28解释:最大运算结果是5XOR25=28.示例2:输入:nums=[14,70,53,83,49,91,36,80,92,51,66,70]输出:127提示:1<=......
  • 数组-求最大值及其下标
    //求最大值及其下标#include<stdio.h>//引入标准输入输出库intmain()//主函数,程序从这里开始执行{inti,n,max,imax=0;//定义循环变量i,数组长度n,最大值max和最大值下标imaxscanf("%d",&n);//从标准输入读取数组长度ninta[n];//声明一个......
  • 数组-冒泡排序
    //冒泡排序#include<stdio.h>intmain(){intn,temp,j,i;scanf("%d",&n);//读取用户输入的整数个数inta[n];//声明一个大小为n的数组//读取用户输入的n个整数for(i=0;i<n;i++){scanf("%d",&a[i]);}......
  • 【力扣热题100】[Java版] 刷题笔记-448. 找到所有数组中消失的数字
    题目:448.找到所有数组中消失的数字给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1,n] 内。请你找出所有在 [1,n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。解题思路依据题目,有两种解题方式:第一种是暴力破解,直接创建一个1到n......
  • SpringCloud入门(八)Feign自定义配置
    一、Feign自定义配置Feign可以支持很多的自定义配置,如下表所示:-类型:feign.Logger.Level作用:修改日志级别说明:包含四种不同的级别:NONE、BASIC、HEADERS、FULL-类型:feign.codec.Decoder作用:响应结果的解析器说明:http远程调用的结果......
  • 【Azure 环境】从Azure AD(Entra ID)中获取的Token在访问自定义的接口应用时验证不通
    问题描述集成AzureAD(新名称MicrosoftEntraID),拿到对应的accessToken作为登录用的凭证。这个 AccessToken 能够正常返回,并作为Microsoft Graph userinfoAPI的Authorization,因为应用中会对前端传递过来的 AccessToken进行校验合法性。但目前遇见的问题时这个 Token 签......