精华内容
下载资源
问答
  • memset对数组初始化

    千次阅读 2015-06-14 01:09:22
    花了半个下午,总结了一下memset对int,long long,char型数组的初始化。//0x(零和英文字母x)是十六进制的前缀(十六进制不区分大小写) //memset对字节赋值 #include #include using namespace std; const int maxx...

    好久没更新了。
    花了半个下午,总结了一下memset对int,long long,char型数组的初始化。

    //0x(零和英文字母x)是十六进制的前缀(十六进制不区分大小写)
    //memset对字节赋值
    #include<iostream>
    #include<cstring>
    using namespace std;
    const int maxx=3;
    int main()
    {
        //char的int值范围在-128~127  0~127为正值,从128~255为-128~-1
        //int,char,long long型的数组赋为最大(其实是-1)
        int a[maxx][maxx];
        //char a[maxx][maxx];
        //long long a[maxx][maxx];
        memset(a,0xff,sizeof(a));//一个f是二进制下4个1,两个f是8个1,刚好是一个字节
        //memset(a,-1,sizeof(a));
    
    
        //把int赋为最大值
        int b=0x7fffffff;//(7个f)(32进制的int,b的二进制中第一个为0其余全为1) (值为2147483647(10位))
    
    
        //把int数组赋为较大值(memset是对字节赋值,无法把数组赋为最大值(最大值是7fffffff,循环节不是4))
        //此处的较大值与最大值同一个数量级,是1061109567,约为最大值2147483647的一半
        int c[maxx][maxx];
        memset(c,0x3f,sizeof(c));
        //3f是6个1,7f是7个1(四个3f是1061109567,四个7f是2139062143)(虽然可以用7f但是用7f可能会在运算时出错,而3f则比较安全)
    
    
    
        //与int同理,long long的用法见下
        //long long最大值
        long long d=0x7fffffffffffffff;//(15个f)(值为9223372036854775807(19位))
    
    
        //long long 数组的最大值
        long long e[maxx][maxx];
        memset(e,0x3f,sizeof(e));//为4557430888798830399(19位)
    
    
        //测试
        cout<<b<<" "<<d<<" "<<endl<<endl;
        for(int i=0;i<maxx;i++)
        {
            for(int j=0;j<maxx;j++)
                cout<<a[i][j]<<" ";
            cout<<endl;
        }
        cout<<endl;
        for(int i=0;i<maxx;i++)
        {
            for(int j=0;j<maxx;j++)
                cout<<c[i][j]<<" ";
            cout<<endl;
        }
        cout<<endl;
        for(int i=0;i<maxx;i++)
        {
            for(int j=0;j<maxx;j++)
                cout<<e[i][j]<<" ";
            cout<<endl;
        }
    }
    
    展开全文
  • c++对数组初始化(简便)

    千次阅读 2014-02-17 17:17:46
    此代码只对a[0]做了初始化,其余默认为0; 亦如;int a[10]={9};则a[0]为9,其余默认为0; 但是如果int a[10];并没有初始化,则值未知,运行时报错。 变量的初始化非常重要,应在声明时就进行初始化。否则到最后...

    int  a[10]={0};

    此代码只对a[0]做了初始化,其余默认为0;

    亦如;int a[10]={9};则a[0]为9,其余默认为0;

    但是如果int  a[10];并没有初始化,则值未知,运行时报错。


    变量的初始化非常重要,应在声明时就进行初始化。否则到最后经常出现莫名其免的问题,往往很难想到变量的初始化问题上

    展开全文
  •  printf("请对数组中的元素赋值初始化(输入10个整数):");  for (i = 0; i < N; i++)  scanf("%d", &arr1[i]);  printf("初始化后的数组及其变量为:\n");  for (i = 0; i< N; i++
    #include<stdio.h>
    #include<stdlib.h>
    #define N 10
    void init(int arr1[N])
    {
     int i;
     printf("请对数组中的元素赋值初始化(输入10个整数):");
     for (i = 0; i < N; i++)
      scanf("%d", &arr1[i]);
     printf("初始化后的数组及其变量为:\n");
     for (i = 0; i< N; i++)
      printf("arr[%d]=%2d ", i + 1, arr1[i]);
    }
    
    void empty(int arr1[N])
    {
     int i;
     for (i = 0; i <N; i++)
      arr1[i] = 0;
     printf("清空完成!");
    }
    
    void reverse(int arr1[N])
    {
     int arr2[N], i, j;
     for (i = 0, j = N - 1; i <N, j >= 0; i++, j--)
      arr2[i] = arr1[j];
     for (i = 0; i < N; i++)
      arr1[i] = arr2[i];
     for (i = 0; i < N; i++)
      printf("arr[%d]=%2d ", i + 1, arr1[i]);
    }
    
    int main()
    {
     int arr[N], a;
    loop:
     printf("\n\n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
     printf("$**           1:初始化数组         **$\n");
     printf("$**           2:清空数组           **$\n");
     printf("$**           3:逆置数组           **$\n");
     printf("$**           4:退出               **$\n");
     printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n\n");
     printf("请选择:");
     scanf("%d", &a);
     switch (a)
     {
     case 1:init(arr); goto loop;
     case 2:empty(arr);  goto loop;
     case 3:reverse(arr); goto loop;
     case 0:break;
     }
     system("pause");
     return 0;
    }


    展开全文
  • //一般对数组初始化可以用以下方法实现: #include using namespace std; int main(){ //一般对数组初始化可以用以下方法实现: //(1)在定义数组时对数组元素赋以初值。如: int a[8] = {0,1,2,3,4,5,6,7}; cout<<"a...
    //一般对数组初始化可以用以下方法实现:
    #include<iostream>
    using namespace std;
    int main(){
    //一般对数组初始化可以用以下方法实现:
    //(1)在定义数组时对数组元素赋以初值。如:
    int a[8] = {0,1,2,3,4,5,6,7};
    cout<<"a[0]="<<a[0]<<endl;
    //经过上面的定义和初始化后,a[0]=0,a[1]=1,...,a[7]=7
    
    //(2)初始化时可以只对一部分元素赋初值。
    int b[8] = {0,1,2,3,4};
    //定义的数组有8个元素,但只对其中前5个元素赋了初值,后3个元素初值为0。
    cout<<"b[0]="<<b[0]<<endl;
    cout<<"b[1]="<<b[1]<<endl;
    cout<<"b[2]="<<b[2]<<endl;
    cout<<"b[3]="<<b[3]<<endl;
    cout<<"b[4]="<<b[4]<<endl;
    cout<<"b[5]="<<b[5]<<endl;
    cout<<"b[6]="<<b[6]<<endl;
    cout<<"b[7]="<<b[7]<<endl;
    cout<<"b[8]="<<b[8]<<endl;
    
    cout<<"========================="<<endl;
    
    //(3)如果想使一个数组的元素值全部为0,可以用下面的方法
    int c[8] = {0,0,0,0,0,0,0,0};
    //不能用 int c[8] = {0*8};
    
    //(4)在对全部数组元素赋初值时,可以不指定数组长度
    
    // 如果对static 型数组不赋初值,系统会对定义的所有数组元素自动赋以0值
    static int d[5];
    cout<<"d[0]="<<d[0]<<endl;
    cout<<"d[1]="<<d[1]<<endl;
    cout<<"d[2]="<<d[2]<<endl;
    }
    

    展开全文
  • int T, i, a, b, c, d; cout 请输入T" ; cin >> T; int sum[200] = { 0 }; for (i = 0; i ; i++) { cout 请输入a,b,c,d" ; cin >> a >> b >> c >> d; sum[i] = a + b + c + d; } for (i = ...
  • #include #include #include//时间头文件 int main() { time_t ts;//设置时间变量 unsigned int randdata = time(&ts);//获取时间,转换为无符号int ... //用随机数初始化数组 for(int i=0;i;i++) {
  • //随机50之间的数字来 初始化数组num_ary  cout [i] ;  }  Select_sort(num_ary ,sizeof(num_ary)/4);//选择排序从小到大  cout 选择排序从小到大:" ;  for(int i = 0 ; i (num_ary)/4 ;i++)  ...
  • Java中数组的定义及初始化

    千次阅读 2018-10-23 00:14:18
    文章目录1. 定义及初始化1. 1动态初始化(声明并... Java对数组的支持5.1 排序5.2 数组的拷贝5.2.1 数组的部分拷贝5.2.2 数组全拷贝 1. 定义及初始化 1. 1动态初始化(声明并开辟数组) 数组类型[] 数组名 = new ...
  • C++ 初始化列表给数组初始化

    千次阅读 2020-03-27 21:32:37
    一般的初始化是使用小括号()。 给数组初始化是使用大括号{}。 class base{ char a[10]; public: base():a{{}}{} } 上例的初始化就相当于:a[10] = {};。
  • 数组的初始化问题

    2019-01-21 17:52:33
    数组的初始化问题 文章目录数组的初始化问题1. 结论2. 验证2.1 无括号的情况2.2 只给整型... 的定义方式程序不会对数组进行初始化。 char a[10] = { }; 数组全部初始化为\0,如果是整型数组初始化为0。 char a[10]...
  • a:动态初始化 只指定长度,由系统给出初始化值 格式: * 数据类型[] 数组名 = new 数据类型[数组长度]; * int[] arr = new int[5]; b:静态初始化的格式: * 格式:数据类型[] 数组名 = new 数据类型[]{...
  • C/C++ int数组初始化

    万次阅读 2019-01-19 14:21:02
    //定义了数组array,但并未对数组初始化; 静态数组 int array[100] = {0}; //定义了数组array,并将数组元素全部初始化为0; 静态数组 int array[100] = {1}; //定义了数组array,并将数组第一个元素初始化为1,...
  • 数组初始化

    2019-03-27 21:46:51
    数组初始化数组new ...这样就给拥有了对数组的一个引用,还没有分配任何空间,而编译器又不允许指定数组的大小,那么为了给数组分配存储空间,就需要使用初始化表达式了,这种初始化操作是由一堆花括号来实现的...
  • C语言数组初始化

    千次阅读 2019-01-13 23:23:20
    C语言数组初始化 wchar_t wname[128]={0}; char cname[256]={0}; 我感兴趣的是: 1. 这种赋值的结果。 2. 这种形式是否符合标准编码规则? 我找到了如下资料,可能有助于对这个知识点的掌握。 /*初始化值的...
  • 初始化概述02. 指定初始化数组元素03. 指定初始化结构体成员变量04. Linux内核中应用05. 初始化总结06. 附录 01. 初始化概述 在标准 C 中,当我们定义并初始化一个数组时,常用方法如下: int a[10] = {0, 1, 2, 3,...
  • 1. 数组的初始化(1)用array创建数组 a: $products = array(Tires,Oil,Spark Plugs); array()实际上是一个语言结构,而不是一个函数 b: 初始化相关数组 $prices = array(Tires=>100,Oil=>10,Spark Plugs=>4); /...
  • 关于数组初始化

    千次阅读 2017-03-30 17:17:20
    1.定义一个数组,如果没有初始化,那么数组元素的值是不确定的。2.数组可以用花括弧括起来的一系列数值来初始化,数值之间用逗号分隔,数值和逗号之间可以有空格符3.初始化时,如果数值个数少于数组元素个数,那么...
  • a = new int[4]动态初始化:for (int i=0i<a.length;i++){ a[i] = i; }默认初始化: 数组元素相当于对象的成员变量,默认值跟成员变量的规则一样。数字0,布尔false,char\u0000,引用:null;静态初始化a[]=...
  • C++ new 动态内存 对象初始化

    千次阅读 2018-08-21 16:40:57
    这种写法对数组的每一个对象调用有参数的构造函数,是功能实现最完备的形式。 User a(23,24);这种写法可以调用有参数的构造函数。 User a[2](23,24);User a(23,24)[2];均错误,无法编译。 int a=new int; User ...
  • 二维数组的定义 二维字符数组的定义格式为: char 数组名[第一维大小][第二维大小];...通常情况下,二维数组的每一行分别使用一个字符串进行初始化。 例如: char c[3][8]={{"apple"},{"orange"},{"banana"}}; 等...
  • 在刚开始学习c语言的时候,会遇到数组是否初始化的情况,若初始化数组的一些元素,则其他元素为0,参见以下程序编译运行就知道他们的区别何在 #include &lt;stdio.h&gt;//数组初始化与未初始化的比较 void ...
  • C语言 数组指针初始化

    千次阅读 2020-06-20 10:41:03
    当然不行,不管从初始化器,还是从原理上来讲都不正确,首先a[3][4]表示的是数组中第4行第5个元素,请问,可以对数组中具体的一个元素赋这么长一串值吗?所以不能这样赋值。第一种写法是属于初始化初始化会自动...
  • java数组初始化及内存分析

    千次阅读 2015-09-29 09:40:30
    数组:相同类型的、用一个标识符名封装到一起是一个对象序列或基本类型数据序列。 一维数组的声明:1 int[ ] a1; 2 int a1[ ] 两种格式含义一样,第二种符合c和c++程序员的习惯。...初始化的时候可以指定大小。 Ja
  • 对数组的引用

    千次阅读 2012-10-01 20:36:52
    在Bjarne Stroustrup(C++创始人,他的主页)所写的《The C++ Programming Language, special edition》书中的第5章5.9节的第1题练习题中,要求写一个声明语句并进行初始化,“a reference to an array of 10 integers...
  • 除了使用构造函数可以对类中的成员变量进行初始化,还可以使用参数初始化列表。这种方法不在函数体内对数据成员初始化,而是在函数首部实现。这样可以减少函数体的长度。 举例如下: #include using namespace std...
  • 初始化

    千次阅读 2016-10-25 15:29:22
    主动引用类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: 遇到new、getstatic、putstatic、invokestatic这四...
  • c语言一维数组初始化

    2016-07-15 21:55:14
    一般对数组初始化可以用以下方法实现: (1)在定义数组时对数组元素赋以初值。如: 1 static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始化后...
  • memset初始化详解+变量初始化最大值、最小值 计算机是使用二进制进行存储的,每一个二进制称为1位(bit),每8位称为1字节(Byte,B),1024字节称为1千字节(KB),1024千字节称为1兆字节(MB)。 换算关系: 1MB=1024KB 1KB...
  • C语言中不对数组赋初值

    千次阅读 2013-05-26 11:01:39
    如果不对数组赋初值: int a[10] for(i=0; i { printf("%d\t", a[i]); } 将得到到什么结果呢? 这得分两种情况: (1)如果数组a是全局变量,则默认初始值为0; (2)如果数组a的声明是在函数体内,则a的值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,876
精华内容 23,950
关键字:

对数组a的初始化