精华内容
下载资源
问答
  • C++一维数组初始化

    2011-02-21 10:52:00
    源自博文“[C++]数组的智能初始化” http://blog.5d.cn/user3/z-star/200412/40139.html 数组初始化在一般编程中经常会遇到: 1.可以用循环对每个元素进行初始化 2.利用C++数组智能初始化:  2.1 只要...

    源自博文“[C++]数组的智能初始化”

    http://blog.5d.cn/user3/z-star/200412/40139.html

    数组的初始化在一般编程中经常会遇到:

    1.可以用循环对每个元素进行初始化

    2.利用C++的数组智能初始化:

       2.1 只要用到{},默认初始化为0

       2.2 否则不确定,随机。(这点类似于C++中的局部变量和静态变量)

    3. C++ Standard Library提供了一个初始化的强力工具 memset

    函数原型:

    MSDN

    void *memset( void *dest, int c, size_tcount );

    dest 是目标起始地址, c 是要赋的值, count是要赋值的字节数

    Required Header: <memory.h> or <string.h>

    GNU

    void *memset(void *s, int c, size_tn);

    Required Header: <string.h>

    Return Value:

    return the value of 'dest' or 's'

    no return value is reserved to indicate an error

    memset的作用:初始化、重置   数组、结构体等内存空间。

    特点:按字节拷贝,c will be converted to an unsigned char

    注意:对于整型数组,只能初始化0(全0)或者-1(全1)

    代码示例:
       

    输出结果展示:

    那么C++中的二维、多维数组又如何呢?

    展开全文
  • c++维数组初始化

    2020-03-15 16:43:06
    (c/c++定义二维数组初始化) C语言规定,普通数组没有赋初值,默认的数组元素值是随机数,不是0。 如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量...

    (c/c++定义二维数组初始化)

    C语言规定,普通数组没有赋初值,默认的数组元素值是随机数,不是0。
    如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。

    就是说假如我定义了一个字符型二维数组,没初始化,那么全部元素都是随机的字符,只是后来对部分元素赋了值,相当于对这些元素用我给的值进行了覆盖,其他没赋值的还是随机数

    展开全文
  • C++维数组初始化的形式

    万次阅读 2019-08-26 09:36:23
    数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 }; 在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。 有如下几种初始化方式: ⑴ 分行进行初始化 int a[2][3]=...

    数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
    在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。
    有如下几种初始化方式:
    ⑴ 分行进行初始化

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

    在{ }内部再用{ }把各行分开,第一对{ }中的初值1,2,3是0行的3个元素的初值。第二对{ }中的初值4,5,6是1行的3个元素的初值。相当于执行如下语句:

    int a[2][3];
    a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
    

    注意,初始化的数据个数不能超过数组元素的个数,否则出错。

    ⑵ 不分行的初始化

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

    把{ }中的数据依次赋给a数组各元素(按行赋值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;

    ⑶ 为部分数组元素初始化

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

    第一行只有2个初值,按顺序分别赋给a[0][0]和a[0][1];第二行的初值4赋给a[1][0]。由于存储类型是static,故其它数组元素的初值为0。注:某些C语言系统(如:Turbo C)中,存储类型不是static的变量或数组的初值也是0。
    static int a[2][3]={ 1,2};
    只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0。

    ⑷ 可以省略第一维的定义,但不能省略第二维的定义。系统根据初始化的数据个数和第2维的长度可以确定第一维的长度。

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

    a数组的第一维的定义被省略,初始化数据共6个,第二维的长度为3,即每行3个数,所以a数组的第一维是2。
    一般,省略第一维的定义时,第一维的大小按如下规则确定:
    初值个数能被第二维整除,所得的商就是第一维的大小;若不能整除,则第一维的大小为商再加1。例如,int a[ ][3]={ 1,2,3,4};等价于:int a[2][3]={ 1,2,3,4};
    若分行初始化,也可以省略第一维的定义。下列的数组定义中有两对{ },已经表示a数组有两行。
    static int a[ ][3]={{1,2},{4}};

    展开全文
  • c/c++维数组初始化

    2016-10-27 17:53:32
    1.当初始化维数组使用如下格式时,即中间每两个元素间以小括号分割时, #include using namespace std; int main() { //int e[4][2] = {{0,1},{0,2},{2,3},{3,0}}; int e[4][2] = {(0,1),(1,2),(2,3),(3,4)};...

    遇到如下问题,尚未弄明白缘由,先记下来

    1.当初始化二维数组使用如下格式时,即中间每两个元素间以小括号分割时,

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	//int e[4][2] = {{0,1},{0,2},{2,3},{3,0}};
    	int e[4][2] = {(0,1),(1,2),(2,3),(3,4)};
    	for(int i=0;i<4;i++)
    		for(int j=0;j<2;j++)
    			cout << i << " " << j 
    			<< " "<< e[i][j] << endl;
    	return 0;
    }
    输出结果为

    0 0 1

    0 1 2

    1 0 3

    1 1 4

    2 0 0

    2 1 0

    3 1 0

    也就是说数组给它的元素赋值时,只取了每一组元素中最后一个。

    展开全文
  • 关于C++维数组初始化

    千次阅读 2010-09-07 15:59:00
    cpp中初始化 如下 即可 static const int pos[17][12] = {  {5,5}, //1  {5,6}, //2  {5,7}, //3  {5,8}, //4  
  • //定义个二维数组 int **aaa =NULL;//这里必须要定义初始值NULL,否则提示C4700的错误,“使用了未初始化的局部变量aaa” for (int i = 0; i < 10; i++) test_int[i] = new int[9]; 编译可以顺利通过,但是...
  • 一维和二维动态数组初始化为: std::vector vec(10,90); //将10个一维动态数组初始为90 std::vector > vec(row,vector(col,0)); //初始化row * col二维动态数组,初始化值为0
  • 1.数组初始化方法(未包括指针) 2.解释 1.int value1[10]; value[i]的值不定,没有初始化 2.int value2[10] = {1,2}; value[0]和value[1]的值分别为1和2,而没有定义的value[i>1]则初始化为0 3.int value3[3][3...
  • 一维数组初始化

    千次阅读 2020-09-02 19:49:46
    那么,数组初始化,就是在定义数组的时候,给其赋值初始值。 数组初始化的格式如下: 数据类型 数组名 [常量值] = {值1, 值2, ..., 值N}; 此时,在定义数组的时候,指定了数组的长度,然后,给数组赋值。例如: ...
  • C++ vector 二维数组初始化方式

    万次阅读 2019-06-30 15:00:54
    原文:... 在LeetCode刷算法的时候发现,使用vector<vector<int>> 时如果声明时不初始化,会报空指针引用错误:reference binding to null pointer of type 'value_type'。 根据《...
  • 一维维数组初始化

    2020-09-02 14:03:04
    1.一维数组 静态 int array[100]; 定义了数组array,并未对数组进行初始化 静态int array[100] = {1,2}; 定义并初始化了数组array 动态int* array = new int[100]; delete []array; 分配了长度为100的数组...
  • C++一维数组的定义 C++中定义一维数组的一般格式: 类型标识符 数组名[常量表达式] 例如: int array[20]; 表示数组名为array,类型为整型数组,有20个元素,读者在定义数组时,需要注意以下4点: 数组名定名规则...
  • 题目:给定串文本数据,以 “|” 为分隔符,将其进行分段处理。...博主比较水,第时间想到的是用二维数组来进行分段,代码如下: char DstMessage[ ][50] = {0}; char Begin=0,End=0,Index=0; for(;.
  • C++中二维数组初始化

    万次阅读 2017-08-18 17:54:16
    种是静态声明及初始化,如下: int array2[3][2]={{4,2},{5},{6}};第二种是,有时我们不知道二维数组需要多少行和多少列,这时是动态数组。 int **array; 后来我们通过输入来获取数组的行n和列m,则对数组进行...
  • C++维数组声明与初始化的示例

    千次阅读 2020-06-08 19:52:14
    C++维数组初始化 #include <iostream> #include <string> using namespace std; int main() { int **a = new int *[10]; char **c = new char *[10]; string *str = new string[10]; char temp[20...
  • C++ 一维数组

    千次阅读 2019-12-16 20:36:05
    一维数组 数组的基本概念 声明(创建)一维数组及规则 引用数组元素 数组排序 冒泡排序法 数组的基本概念 先来说一下一维数组的定义:一维数组即为下标只有一个的数组,一维数组也是最简单的数组 数组也就是一...
  • C++一维数组定义和初始化

    千次阅读 2018-01-27 16:45:47
    动态静态定义数组,和初始化new(), delete() #include "stdio.h" int main() { printf("Hello main \n"); int len = 3; /*************************************************/ int array11[len]; //static int...
  • 一维数组初始化问题数组元素初始化时,若没有显式提供幸元素的值,则元素会被像普通变量一样初始化: 函数体外定义的内置类型数组(即内置类型的全局数组),元素初始化为0; 函数体内定义的内置类型数组,元素...
  • 在刷LeetCode的时候需要初始化创建个行大小为r、列大小为c的vector二维数组,具体的实现方法如下: vector<vector<int>> num(r, vector<int>(c)); 初始化创建r个类型为vector<int>,大小...
  • C++:二维数组初始化

    万次阅读 2008-11-28 22:56:00
    维数组初始化分为多种形式。注意,当只对部分元素赋初值时,对于int型数组,未赋初值的元素自动取0值。 1)按行赋值 int a[ ][3]={{1,2,3},{4,5,6}}; ——相当于{{1,2,3},{4,5,6}} int a[ ][3]={{1,2},{0}}; ——...
  • C++二维数组讲解、二维数组的声明和初始化 上一节 下一节返回目录 编辑/纠错/意见 关注(100) 更新:2012-05-08 ...我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线上的点。而所有的数据都
  • C++一维数组和二维数组数组的用法和特征
  • 1. 真正初始化只用这句就行: vector<...//初始化一个m行n列的元素值全为0的二维数组 这是利用了vector的构造方法。 2. 此法,vv1[0]为全为0,vv1[1]全为1...... 00000 11111 . . . ...
  • C++C++数组初始化方法

    万次阅读 2018-12-17 22:13:55
    定义: int *pia = new int[10];...此 new 表达式分配了个含有 10 个 int 型元素的数组,并返回指向该数组个元素的指针,此返回值初始化了指针 pia。 在自由存储区中创建的数组对...
  • 维数组初始化——逗号运算符 1.实例 如下初始化方式: int a[3][2] = { (0, 1), (2, 3), (4, 5) }; 输出 2.理解 实际上,变量a只输入了三个值,1,3,5。 (0,1)是C++的逗号运算符,运算结果取...
  • ``` #include using namespace std;... 这样做是不是不是初始化,因为我已经动态分配了内存,已经创建了数组,所以a[3][3]= {{6, 1, 1}, {4, -2, 5}, {2, 8, 7}};是赋值多个值到数组元素a[3][3]
  • C++一维数组

    2017-08-02 19:42:51
    C++一维数组_微学苑 定义一维数组 定义一维数组的一般格式为: 类型标识符 数组名[常量表达式]; 例如: int a[10]; 它表示数组名为a,此数组为整型,有10个元素。 关于一维数组的几点说明: 1) 数组...
  • 一维数组创建 #include<iostream> #include<iomanip> using namespace std; const int COL = 3; void display(int *arr,int n){ for(int i=0;i<n;i++){ cout<<arr[i]<<"\t"; } cout...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,414
精华内容 17,365
关键字:

c++一维数组初始化

c++ 订阅