精华内容
下载资源
问答
  • 2022-01-19 19:40:33
    double arr[0];

    1.❌数组中应该至少有一个元素[]内应该大于等于1;

    int N=6,str[N];

    2.❌详情见

    ​​​​​​如此声明数组正确吗?int n=10,a[n];如果这样呢?const int n =10;int a[n];_汲海的博客-CSDN博客
     

    int a[10]=(0,0,0); 


    3.❌应该用大括号

    int a[10]={};

    4.✔,

    语法上虽然是正确的,但是我们一般不这么写,因为可读性差,有些人不知道,可能还会以为是语法错误,所以一般写成如下:

    int a[10]={ 0 }; / / 是将数组a中的所有元素都赋初值0.

    当然,如果你写成这样int a[10]={ 1 }; / / 他仅仅只是将数组的第一个元素赋值1而已,其它数值还是0.这是C/C++的一种机制问题,无需深究。

    int a[10]={10*1};

    5.✔

    更多相关内容
  • 如何判断数组已经初始化

    千次阅读 2018-12-07 03:04:42
    VBA编程中经常用到数组,在代码中使用数组之前,需要确保数组已经完成初始化操作,借助API可以进行判断。 Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef ...

    VBA编程中经常用到数组,在代码中使用数组之前,需要确保数组已经完成初始化操作,借助API可以进行判断。

    Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saArray() As Any) As Long
    Sub Demo()
        Dim strArray1() As String
        Dim strArray2() As String
        Dim strArray3(1 To 3) As String
        Dim strArray4(1 To 3) As Integer
        
        Debug.Print "strArray1 - " & IIf(SafeArrayGetDim(strArray1) > 0, "已初始化", "未初始化")
        Debug.Print "strArray2 - " & IIf(SafeArrayGetDim(strArray2) > 0, "已初始化", "未初始化")
        Debug.Print "strArray3 - " & IIf(SafeArrayGetDim(strArray3) > 0, "已初始化", "未初始化")
        Debug.Print "strArray4 - " & IIf(SafeArrayGetDim(strArray4) > 0, "已初始化", "未初始化")
        
        strArray1 = Split("1,2,3", ",")
        ReDim strArray2(1 To 3)
        Debug.Print "==============="
        Debug.Print "strArray1 - " & IIf(SafeArrayGetDim(strArray1) > 0, "已初始化", "未初始化")
        Debug.Print "strArray2 - " & IIf(SafeArrayGetDim(strArray2) > 0, "已初始化", "未初始化")
    End Sub
    

    代码解析:

    执行完DIM语句后,四个数组的状态是否相同呢?来看一下VBE中【本地窗口】。
    在这里插入图片描述
    Dim strArray1() As String声明的数组,其类型为String(),“值”为空,这样的数组尚未进行初始化无法使用。
    strArray3和strArray4则已经完成初始化,根据数组的数据类型,数组元素具备相应的初始值,String数组strArray3初始值为空字符,Integer数组strArray4初始值为0,在代码中可以访问其元素的值或者进行赋值等操作。
    除了DIM语句之外,第13行和第14行代码也可以实现数组初始化。代码执行后,【立即窗口】如下图所示。

    在这里插入图片描述

    利用API函数SafeArrayGetDim可以判断数组是否已经完成初始化,代码运行结果如下。

    strArray1 - 未初始化
    strArray2 - 未初始化
    strArray3 - 已初始化
    strArray4 - 已初始化
    ===============
    strArray1 - 已初始化
    strArray2 - 已初始化

    展开全文
  • 数组初始化

    千次阅读 2021-04-14 20:41:09
    快速生成输出语句:sout; 单行注释快捷键:“ctrl+/”; 多行注释快捷键:“ctrl+/”(每行都是单行注释)或者“ctrl+shift+/”(多行一块注释); 包的命名规范:字母小写,级与级直接用“.”隔开; for循环的快速生成...

    IDEA的入门小技巧:
    快速生成主方法:psvm;
    快速生成输出语句:sout;
    单行注释快捷键:“ctrl+/”;
    多行注释快捷键:“ctrl+/”(每行都是单行注释)或者“ctrl+shift+/”(多行一块注释);
    包的命名规范:字母小写,级与级直接用“.”隔开;
    for循环的快速生成方式:
    (1)num.fori 递增循环
    eg:

    10.fori 表示的是for(int i=0;i<10;i++){}
    

    (2)num.forr 递减循环
    eg:

    10.forr 表示的是for(int i=10;i>0;i--){}
    

    万能纠错键(补全键):alt+Enter
    快速补全:sth().var
    eg:

     sc.nextInt().var会自动生成int index=sc.nextInt()
    

    数组:数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
    数组既可以存储基本数据类型,也可以存储引用数据类型。

    初始化:为数组分配内存空间,并为数组中的元素进行赋值。初始化可分为动态初始化和静态初始化。动态初始化只指定长度,由系统给出初始化值(整型默认为0,浮点型默认为0.0,字符串型默认为null等)。静态初始化:给出初始化值,由系统决定长度。
    一维数组有两种初始化方法:
    (1)动态初始化:手动输入数组的长度,由系统为数组元素赋值。
    格式: 数据类型[] 数组名 = new 数据类型[数组长度];
    数组长度其实就是数组中元素的个数。
    eg:

    int arr[]=new int[3];
    	arr[0]=33;
    	arr[1]=524;
    

    数组并不一定是整型,还有浮点型(double),布尔型(boolean),字符型(char)等等
    (2)静态初始化:由我们为数组元素赋值,由系统计算长度
    int[]arr1=new int[]{1,2,3};
    Int[]arr1={1,2,3,4};(简写方式)
    注意事项 这两种方式,只能使用一种,不能进行动静结合

    在使用数组过程当中,容易遇到的异常。
    a:ArrayIndexOutOfBoundsException:数组索引越界异常
    原因:访问了不存在的索引。
    b:NullPointerException:空指针异常
    原因:数组已经不在指向堆内存了。而还用数组名去访问元素。
    可以把一个对象使用完之后,置为null ,有利于垃圾回收器,回收这个对象。

    二维数组的定义
    (1)动态初始化
    数据类型[][] 变量名 = new 数据类型[m][n];
    m表示这个二维数组有多少个一维数组
    n 表示每个一维数组中的元素个数
    注:n可写可不写,当没有写时,内存中没有给一维数组开辟空间,默认为null。 当写了时,一维数组元素默认值为0(int型为例)
    eg:

    int[][]arr1=new int[3][4];
    	arr1[2][2]=3;
    

    (2)静态初始化
    数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}…};
    简写为:
    数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
    这个格式属于静态初始化:由我们指定具体的元素值,由系统给分配长度
    eg:

    int[][]arr2=new int[][] {{1,2,3},{4,5,6}};
    	int[][]arr3={{1,2,3},{4,5,6}};
    

    补充:还有两种格式可以表示二维数组(罕见):
    数据类型 数组名[][] = new 数据类型[m][n];
    数据类型[] 数组名[] = new 数据类型[m][n];

    数据类型:基本数据类型和引用数据类型。
    (1)基本数据类型:四类八种
    (2)引用数据类型:数组,类,接口,都属于引用数据类型,简单记忆,需要new出来的就 是引用数类型。
    局部变量:就是是定义在方法中,或方法声明上的变量(形参)的变量,局部变量,存储在 栈内存。
    int num=100; //局部变量
    形参也是局部变量
    定义在方法中的变量,是局部变量

    栈和堆的理解
    : 存放的是局部变量。
    局部变量:在方法定义中或者方法声明上的变量都是局部变量。
    : 存放的是所有new出来的东西。
    特点:
    a: 每一个new出来的东西都会为其分配一个地址值。
    b: 每一个变量都有一个默认的值
    byte,short,int,long – 0
    float,double – 0.0
    char – ‘\u0000’
    boolean – false
    引用数据类型 – null
    c: 使用完毕就变成了垃圾,等待垃圾回收器对其回收

    递归:在定义方法中,方法调用方法本身的现象。
    注意事项
    (1)要有判断条件,达到一定条件时递归完成。否则就是死循环;
    (2)递归次数不能太多,否则会报错(内存溢出)。

    展开全文
  • 【C++程序设计判断题】 易错点总结

    千次阅读 2020-12-27 11:00:42
    1、判断数组声明及初始化语句 int array [5]={1,2, ,4,5};是否正确 答案:N 2、Array as function parameter, you pass the first address of the array, so the parameter declaration, b [] array length can be ...

    1、判断数组声明及初始化语句 int array [5]={1,2, ,4,5};是否正确
    答案:N

    2、Array as function parameter, you pass the first address of the array, so the parameter declaration, b [] array length can be omitted.
    答案:Y

    3、When we define an array,we can leave out row number,also,we can leave out column number.
    答案:N
    要记住永远不能省略列元素,可以省略行元素。b[3][]是不合法的。

    4、the value range of unsigned char:0~256.
    答案:N
    unsigned char 是0-255

    5、可以使几个不同类型的变量共用同一段存储单元
    答案:Y
    共用体可以这样,并且这时候共用体的长度是字节最多的那个变量的长度。

    6、A struct is an aggregate of elements of nearly arbitrary types.
    答案:Y
    结构体是几乎任意类型元素的集合。

    7、数据是C++程序的构成基础.
    答案:N
    在C语言中,函数是程序的基本组成单位。

    8、The function only may be the system pre-definition, may not be the user from the definition.
    答案:N
    函数可以是用户自定义的。

    9、形参 int fun(int a=1,int b,int c=2)是否合法?
    答案:N
    指定了默认值的形参后,其右边不能出现没有默认值的形参,即默认值集中在参数列表的右边。同时,不能指定引用参数的默认值(int &m=4 不可以)

    10、在C++中,局部变量的存储类别包括extern.
    答案:N
    局部变量的存储类型有auto(自动)、static(静态)、register(寄存器)

    11、定义全局变量时前面加上static,表示定义静态变量.
    答案:N
    extern用于拓展全局变量的作用域,static用于限制全局变量的作用域、

    12、C++作用域有5种:块作用域,文件作用域,函数作用域,类作用域,原型函数作用域
    答案:Y

    13、Define function, the return value type default, said the function no return value.
    答案:N
    C++默认返回的是int类型,如果没有明确写出返回类型的话,默认为int类型。void必须要明确写出来才可以,void是空类型,指的是函数不提供返回值,不是默认的。

    14、The function name is not address constants, can reassignment.
    答案:N
    (这个还没搞懂)

    15、语句 y=*p++; 和 y=(*p)++; 是等价的.
    答案:N
    星和++是同一等级的运算符,并且结合性从右向左。

    16、&b指的是变量b的地址处所存放的值.
    答案:N
    &b指的是变量b的地址值。

    17、C++语言允许main函数带形参,并且形参名只能是argc和argv.
    答案:N
    一般编译器默认使用argc和argv两个名称作为main函数的参数,但这两个参数如此命名并不是必须的,你可以使用任何符合C++语言命名规范的变量名作为参数,例如void main(int value,char ** point)

    C语言通常允许main()函数带有两个参数,可由用户自己命令,但类型是固定的。第一个参数是整型,第二个参数是一个指向字符型指针数组的指针或一个基本类型为字符型的指针数组,此时传给形参的值只能从命令行中得到。

    18、int *func(int, int) 和 int (*func1)(int ,int)没有区别.
    答案:N
    1. func 就是普通的函数名 ,只是这个函数的返回值是指针
    2. func1 是函数指针,他指向的函数的返回值为 int ,有两个int的参数

    19、const int *p; 表示不能通过p修改其指向的量,即不允许做"*p=…"操作.
    答案:Y

    20、指针可以进行算术运算和比较(关系)运算.
    答案:N
    问了老师,只能进行某些算术运算和比较(关系)运算。

    21、使用引用类型作函数参数可提高程序执行的效率.
    答案:Y

    22、在宏定义#define PI 3.14159中,用宏名PI代替一个双精度数
    答案:N
    用宏名代替一个字符串。

    23、C++提供的预处理功能包括宏定义、文件包含和条件编译.
    答案:Y

    24、宏代换不占用编译时间,只占用运行时间;而函数则占用编译时间.
    答案:N
    宏代换不占用运行时间,只占用编译时间;而函数则占用运行时间.

    25、宏名是个标识符,参数表中只能有多个参数,参数之间用"/"分隔.
    答案:N
    宏名是个标识符,参数表中可以有一个或者多个参数,参数之间用","分隔.

    26、用宏名代替字符串时,只做简单的代换,不进行任何计算,也不进行正确性检查.
    答案:Y

    27、带参数的宏定义用内联函数实现比一般函数更快.
    答案:Y

    展开全文
  • 数组概述初始化使用

    2022-03-30 22:22:11
    数据的了解与初始化使用
  • C语言中,数组初始化的方式主要有三种:1、声明时,使用 {0} 初始化;2、使用memset;3、用for循环赋值。那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码:[cpp]view plaincopy#defineARRAY_SIZE_MAX(1*...
  • C语言中,数组初始化的方式主要有三种:1、声明时,使用 {0} 初始化;2、使用memset;3、用for循环赋值。那么,这三种方法的原理以及效率如何呢?请看下面的测试代码:#define ARRAY_SIZE_MAX(1*1024*1024)void ...
  • python 初始化一个定长的数组实例

    千次阅读 2020-12-05 01:23:19
    我们需要定义一个定# # 长的数组,python中代码如下:b = [0 for _ in range(10)] #也可以b = [0]*10for i in range(10):pass # 赋值语句以上这篇python 初始化一个定长的数组实例就是小编分享给大家的全部...
  • #Java学习#习题四

    千次阅读 2020-06-10 10:29:50
    下面关于数组声明初始化语句那个有语法错误?( ) ** A.int a1[]={3,4,5}; B.String a2[]={"string1","string1","string1"}; C.String a3[]=new String(3); D.int[][] a4=new int[3][3]; C 2.list是一个...
  • 在 C 中,可以逐个初始化数组,也可以使用一个初始化语句,如下所示: double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; 如果省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果: double ...
  • #include &lt;stdio.h&gt; struct{ char *name; //姓名 int num;...}Class[8] = { //可以不给出数组长度,如果给的是空的,全部初始化成0 { "Li ping", 5, 18, 'C', 145.0...
  • 本节讨论标量类型、数组、结构体和联合体的初始化。 在C语言中,全局或静态变量的初始化应为常量;而局部变量没有此要求。
  • java输入输出、数组初始化

    多人点赞 热门讨论 2022-03-30 18:05:46
    第四种声明的的时候必须指定数组长度(可以为0),且声明之后只能按照索引一个一个的进行初始化,未初始化之前使用数组类型对应的默认值 多维数组(以二维数组为例)   由此可见,二维数组初始化方式与一维数组基本...
  • 数组声明语法如下: var 数组变量名 [元素数量]Typea:= [3]int{} //我们可以通过如下方式给数组赋值 a[0] = 1 a[1] = 2 a[2] = 3 //数组遍历 for i, v := range a { fmt.Printf("%d %d\n", i, v) } //.....
  • Java的赋值与初始化

    千次阅读 2021-03-16 19:21:06
    zhangleispirit@gmail.comJava的赋值和初始化包括很多容易被忽视的地方,在此分类总结如下:1.和赋值相关:基本类型的赋值运算需要注意的是赋值时的类型转换问题,什么时候可以自动转换,什么时候需要强制类型转换是...
  • C语言数组练习答案

    千次阅读 2021-05-19 11:30:36
    《C语言数组练习答案》由会员分享,可在线阅读,更多相关《C语言数组练习答案(9页珍藏版)》请在人人文库网上搜索。1、第四部分 数组4 1 选择题1. 以下关于数组的描述正确的是 (c ) 。A. 数组的大小是固定的,但...
  • Java数组详解

    2021-03-08 18:37:35
    Java数组详解数组详解1、数组概述数组是相同类型数据的有序集合每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们2、数组声明和创建①数组声明形式dataType[] arrayRefVar; //首选的方法dataType...
  • 如何判断动态数组为空?

    千次阅读 2021-03-15 03:17:55
    VBA开发时经常用到数组,但是如何判断数组是否为空,这里说的“空”指的是,动态数组声明后,但是未赋值之前的状态,在【本地窗口】中显示如下。 此时Dim语句已经执行完毕,可以认为已经完成了初始化,数组并无法...
  • av28779788?p=51视频学习笔记 当前为-->第二部分:C#基础 方法 什么是方法 ...所以return后面的语句将不会执行。 参数列表 参数 示例,Main方法(调用)部分: 方法定义部分: ...
  • C# 随机数 数组定义和初始化

    千次阅读 2011-06-23 12:17:00
    可以使用以下一种方法,在同一个语句中创建、设置并初始化多维数组:  int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };  int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };  int[,] arr6 = { {1,2,3}, {4,...
  • 数组的定义和初始化 数组的索引 数组的长度 数组的遍历 数组内存 数组的相关算法 学习目标 理解容器的概念 掌握数组的第一种定义方式 掌握数组的第二种定义方式 掌握数组的第三种定义方式 使用...
  • 结构体的指针成员初始化问题

    千次阅读 2020-02-03 11:09:45
    memset(cache, 0, sizeof(*cache)); 所有成员变量的值都是0 , char [10] 型 "\...声明为全局量,会自动初始化为上述值。 typedef struct cacheEntryS { int key; /* 数据的key */ int value; /* 数据的data */...
  • default:在switch中 表明默认case处理的语句,表示否则的意思 总结: 不管哪种循环结构,都不能缺少循环控制条件初始化,终止条件,循环控制变量增量,循环体这四部分;while循环是先判断后执行,do while循环是先...
  • 如果是静态(static)生存期(函数外声明的变量和静态存储变量)的未初始化变量,可以确保整形初始化为0,浮点型初始化为0.0,指针初始化为null 。 如果是自动(automatic)生存期的变量(即非静态存储类型的局部...
  • max,abs,random方法循环控制语句for循环while循环while语句do...while语句跳出循环关键字breeak关键字continue关键字双重循环数组数组的定义数组的特点数组声明数组初始化静态初始化动态初始化数组的两个常用...
  • 数组作业答案

    千次阅读 2018-12-20 10:19:19
    数组会在内存中开辟一块____________的空间,每个空间相当于之前的一个变量,称为数组的元素。数组的长度一经确定,就无法再改变。 要获取一个数组的长度,可以通过____________属性来获取,但获取的只是为数组分配...
  • 数组 10.1 数组 10.1.1 关于数组的重要定义 10.2 数组的类型 10.3 数组是对象 10.4 一维数组 10.5 矩阵数组 10.6 交错数组 10.7 数组继承的有用成员(部分) 10.8 foreach语句

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,195
精华内容 43,278
关键字:

判断数组声明及初始化语句

友情链接: 7.rar