精华内容
下载资源
问答
  • C语言的二维数组初始化的几种方式介绍1、直接赋值2、循环对每个元素赋值3、借用memset/memset_s初始化为0或-14、`数组所有元素初始化为相同值` 1、直接赋值 适合数组元素较少的,各元素的值可以不同。 int[2][3] arr...

    1、直接赋值

    适合数组元素较少的,各元素的值可以不同。

    int arr1[2][3] = { {5, 2, 4}, {10, 2, 1} };
    int arr1[2][3] = {0}; /* 所有元素都初始化为0 */
    int arr1[2][3] = {1}; /* 只有arr1[0][0]为1,其他所有元素都初始化为0 */
    

    2、循环对每个元素赋值

    对数组的每个元素进行赋值,各元素的值可以不同。就是效率比较低。

    int arr2[2][3];
    int i, j;
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 3; j++) {
            arr2[i][j] = 2; /* 本例为了简单都赋值成相同值 */
        }
    }
    

    3、借用memset/memset_s初始化为0或-1

    注意:memset/memset_s只能将变量初始化为 0或-1,其他值不成立。 参考百度百科 的常见错误的第一条。
    这点很多人都没注意,容易犯错。

    int arr3[10][10];
    memset(arr3, 0, sizeof(arr3); /* 正常,arr3中的每个元素都为0 */
    memset(arr3, -1, sizeof(arr3); /* 正常,arr3中的每个元素都为-1 */
    memset(arr3, 2, sizeof(arr3); /* 异常,arr3中的每个元素都为异常值33686018 */
    

    在这里插入图片描述

    4、数组所有元素初始化为相同值(用于大数组初始化贼方便)

    只要值为相同的,特别是数组元素比较多的情况,推荐用此方法:
    { [0 … LENA-1][0 … LENB-1] = num };
    这种初始化方法比较少见,但特别省事,所以共享给大家。

    #define ARR_LEN 100
    int arr4[ARR_LEN][ARR_LEN] = { [0 ... (ARR_LEN-1)][0 ... (ARR_LEN-1)] = 10 }; /* 100*100个元素都初始化为10 */
    

    在这里插入图片描述

    展开全文
  • 正确初始化二维数组

    千次阅读 2013-08-26 18:42:37
    以下能对二维数组正确初始化的语句是_C__。 A static int a[2][3]={0}; B static int a[ ][3]={{1,2},{0}}; C static int a[2][3]={{1,2},{3,4},{5,6}} D static int a[ ][3]={1,2,3,4,5,6}; 为...

    二维数组正确初始化

    以下不能对二维数组正确初始化的语句是_C__。

    A static int a[2][3]={0};

    B static int a[ ][3]={{1,2},{0}};

    C static int a[2][3]={{1,2},{3,4},{5,6}}

    D static int a[ ][3]={1,2,3,4,5,6};

    为什么是C呢?

    首先要明确几点:
    1、二维数组可按行分段赋值,也可按行连续赋值。{{1,2},{0}}是按行分段赋值,{1,2,3,4,5,6}是按行连续赋值。

    2、可以只对部分元素赋初值,对于int型数组,未赋初值的元素自动取0值。

    3、如对全部元素赋初值,则第一维的长度可以不给出。

    A,B,D选项符合以上条件,唯有C选项,是按行分段赋值,给出了3行数据(最外层大括号内有3组分段的大括号),而定义的第一维长度是2,所以是不正确的。
    展开全文
  • a:动态初始化 只指定长度,由系统给出初始化值 格式: * 数据类型[] 数组名 = new 数据类型[数组长度]; * int[] arr = new int[5]; b:静态初始化的格式: * 格式:数据类型[] 数组名 = new 数据类型[]{...

    数组是存储同一种数据类型多个元素的集合。
    a:动态初始化 只指定长度,由系统给出初始化值
    格式:
    * 数据类型[] 数组名 = new 数据类型[数组长度];
    * int[] arr = new int[5];
    b:静态初始化的格式:
    * 格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
    * 简化格式:
    * 数据类型[] 数组名 = {元素1,元素2,…};
    int[] b = new int[]{1,2,3};
    int[] b = {1,2,3};
    错误格式:
    1.动静结合
    int[] a = new int[3]{1,2,3};
    2.未指定长度也未赋值
    int[] b =nw int[];

    展开全文
  • C语言数组初始化

    千次阅读 2019-01-13 23:23:20
    C语言数组初始化 wchar_t wname[128]={0}; char cname[256]={0}; 我感兴趣的是: ...当初始化值的个数少于数组元素个数时,前面的按序初始化相应值,后面的初始化为0(全局或静态数组)或为确定值(局部...
  • C语言中数组初始化操作

    千次阅读 2018-01-17 10:37:02
    C语言中数组初始化操作 ... - 能直接使用int array[maxn] = {-1}来对数组进行初始化,这样得到的数组中的值并非是-1 4. 程序代码如下: #include #include #define maxn 10 int array1[maxn]={-1}; vo
  • C语言 数组指针初始化

    千次阅读 2020-06-20 10:41:03
    当然不行,不管从初始化器,还是从原理上来讲都不正确,首先a[3][4]表示的是数组中第4行第5个元素,请问,可以对数组中具体的一个元素赋这么长一串值吗?所以能这样赋值。第一种写法是属于初始化初始化会自动...
  • /*** 使用foreach语句对数组成员进行遍历***/ public class ForeachDemo{ public static void main(String[] args) { int[] arrays = {1,2,3,4,5};// 对arrays[]数组进行初始化 System.out.println("th...
  • C语言的数组初始化

    2011-06-08 21:27:00
    但是,如果如果不对数组进行初始化,即在定义的同时没有用列表初始化,那么局部数组的值就取决于编译器而对程序员来说就是可预料的了.有时间可以测试一下各个编译器,不过在vc中是0xcc.所以对局部数组的初始化要特别...
  • 指针的初始化总结

    2013-10-09 14:08:48
    1. 字符指针的初始化 在c语言中 "string"保存的就是首个字符所在的地址 所以可以把 字符串常量... 但可以对数组初始化为字符串,也就是字符数组。如 char str[] = "string";   两种初始化的区别:char * p=
  • memset初始化详解+变量初始化最大值、最小值 计算机是使用二进制进行存储的,每一个二进制称为1位(bit),每8位称为1字节(Byte,B),1024字节称为1千字节(KB),1024千字节称为1兆字节(MB)。 换算关系: 1MB=1024KB 1KB...
  • 初始化 ①.double[ ] myList;//此时myList还未分配空间,直到下一步  myList=new double[5]; ②.double[ ] myList=new double[5]; 以上是两种初始化的方式;   二维数组初始化: 赋值 下面说一下赋值的...
  • 数组初始化有三种方式: 动态初始化:数组定义与为数分配空间和赋值的操作分开进行; 静态初始化:在定义数字的...例如:要表示10个学生的成绩,下列声明并初始化数组正确的是() 有以下两种写法; int sc...
  • 关于数组的初始化是否为0

    千次阅读 2013-03-16 17:29:52
    在我对数组初始化的时候首先想到的就是全部初始化: for(int i=0;i {  a[i[=0; } 这样的话感觉也太浪费了,一共进行了100次赋值操作,就想起来说“数组未赋值的自动赋值为0”,于是,没有初始化的情况下进行...
  • 数组的初始化

    千次阅读 2017-07-30 11:20:50
     一直以来,初始化变量和数组常采用定义时赋值的方法,今天在定义一个结构体的时候发现了一些问题,查了下相关资料发现以往的使用确实有些误区,一直没有注意到,于是搜集了下零散的资料在此记录一下。 一、以往...
  • 数组,结构体初始化 {0}

    千次阅读 2014-10-29 10:38:14
    一直以为 int a[256]={0};是把a的所有元素初始化为0,int a[256]={1};是把a所有的元素初始化为1. 调试的时查看内存发现不是那么一回事,翻了一下...5.2.1 数组初始化 数组可以用一个列值来初始化,例如  int v1[]
  •  在上一篇文章有提到数组和指针的初始化和赋值问题,对于数组,可以初始化,但能对整个数组赋值,而指针,可以初始化也可以赋值。    在结构体中,数组和指针最大的的区别为:数组将信息存在结构体所占有...
  • 一维数组初始化

    2019-04-25 11:03:08
    为了使程序运行简便,在程序定义的时候就把有相同性的值进行赋值也就是对数组的初始化例如: int a[10]={1,2,3,4,5,6,7,8,9}将数组中的各种元素初始值按顺序放到花括号里,数据...可以对话括号里的值全部初始化例...
  • 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。我们可以声明一个数组变量,如 numbers[100] 来代替直接...
  • Qt中数组的初始化

    万次阅读 2012-06-05 09:18:50
    如果Qt中某类中有数组成员,对数组初始化必须放在构造函数而非类的声明中,同时类的声明中必须指定数组的大小。 如: class SerialPort : public QWidget {  Q_OBJECT  ……  const int speed_arr[]= {B...
  • C语言-数组-2初始化

    2013-09-04 20:58:17
    数组-2初始化 //数组的初始化 //数组的初始化要在定义的时候赋值 //数据类型 数组名[长度] = {元素1,元素2,元素3,...};...注C语言中编译器是不会对数组下标越界进行检查,每次都要小心。 数组的
  • 初始化动态分配的数组问题

    千次阅读 2010-10-20 14:02:00
    动态分配数组时,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化;如果数组元素是内置类型,则无初始化。string *psa=new string [10];...可以跟在数组后面加一对空圆括号,对数组元素进行初始化。int *
  • 数组的初始化问题

    千次阅读 2016-04-26 19:07:09
    一直以为 int a[256]={0};是把a的所有元素初始化为0,int a[256]={1};是把a所有的元素初始化为1. 调试的时查看内存发现不是那么一回事,翻了一下《The C++ ...数组可以用一个列值来初始化,例如  int v1[] ={1
  • 陷阱:全零初始化 使用小随机数初始化 用1 / sqrt(n)标准化方差 稀疏初始化 初始化偏差 批量标准化 正则化 L2正则化 L1正则化 最大范数约束 Dropout 损失函数 分类问题 属性分类 回归 结构化预测 小结 .....
  • 数组初始化的4种方式

    万次阅读 2019-04-26 13:06:30
    1. 直接给每个元素赋值 int array[4] = {1,2,3,4}; 2. 给一部分赋值,后面的全部为0 int array[4] = {1,2}; 3. 由赋值参数个数决定数组的个数 ...当初始化参数时,推荐使用 int array[4] = {0}; void Print(i...
  • 项目 4-1 对数组进行排序  一维数组以基于索引的线性列表来组织其中的数据,这是一种很好的可用于排序的数据结构。在这个项目中,我们将学习一种简单的对数组进行排序的方法。或许你已经知道有多种不同的排序算法。...
  • 对于字符数组和字符串数组,对数组的整体赋值只能在初始化时进行,整体赋值能赋值使用,而只能对数组元素一个个的赋值。 即下列: C: char str[]={"asd"} 正确  char str[];  str="asd";错误 C++(include...
  • [C]二维数组的初始化规则

    万次阅读 多人点赞 2018-10-04 23:12:20
    二维数组初始化形式如下: int/char arr [100][200]  数据类型 数组名 [整常量表达式][整常量表达式] = {初始化数据}; 在{}中给出各组元素的初值,各初值之间用逗号分开。把{}中的初值依次赋给各数组元素。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,690
精华内容 12,276
关键字:

对数组初始化不正确