zoukankan      html  css  js  c++  java
  • 数组

    初始化方式:
    int a[3] ={10,9,6};
    int a[3]={10,9};
    int a[]={11,7,6};
    int a[4]={[1]=11,[0]=7};

    常见错误:

        int a[];
        int [4]a;
        int a[b];
        a[10]=0;
        a={10,11};
        a[4]={10,9,8,5};
    //只有在定义时才可以全部初始化
    内存分配
    存储内存分配,内存的分配是从高地址到低地址,数组元素是从低到高。

    1、计算元素个数:
    例:
    int ages[]={10,11,12};
    int count = sizeof(ages)/sizeof(int);
    2、数组下标从0开始:
    例:
    int a[10]
    a[10] =11;//错误写法
    3、定义数组与数组元素的区别
    定义数组 数组名前有类型修饰符 。 
    数组元素,不带类型修饰符

     
    数组与函数
    1、 数组作为函数参数,可以省略元素个数
    2、 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
    例 1:
    void change(int array[])
    {
        //printf("array==%p ", array);
        array[0] = 100;
    }
    void change2(int n)
    {
        n = 100;
    }
    int main()
    {
        int ages[6] = {10, 11, 10, 11, 10, 11};
        //printf("ages==%p ", ages);
        change(ages);
        //change2(ages[0]);
        printf("%d ", ages[0]);
        return 0
    ;
    }
    例 2:
    int maxOfArray(int array[], int length)
    {
        // 数组当做函数参数传递时,会当做指针变量来使用,指针变量在64bit编译器环境下,占据8个字节
        int size = sizeof(array);//在调用函数时,不可以这样求数组长度
        printf("array=%d ", size);
        return 0;
    }

    二维数组:
    初始化方式:
    int a[3][4]={1,2,3,4,5,6};
    int a[3][4]={{},{},{}};
    int a[][5]={3,12,13,2,21,1};
    注意错误:
    int a[3][4];
     a[3] ={};//下标最高为2
  • 相关阅读:
    BZOJ3123: [Sdoi2013]森林(启发式合并&主席树)
    BZOJ3212: Pku3468 A Simple Problem with Integers(线段树)
    BZOJ3211: 花神游历各国(线段树)
    BZOJ3207: 花神的嘲讽计划Ⅰ(hash)
    BZOJ3033: 太鼓达人(欧拉回路)
    「LibreOJ NOIP Round #1」旅游路线
    bzoj 2818: Gcd
    bzoj 2006: [NOI2010]超级钢琴
    bzoj 1485: [HNOI2009]有趣的数列
    bzoj 1045: [HAOI2008] 糖果传递
  • 原文地址:https://www.cnblogs.com/Alling/p/3971398.html
Copyright © 2011-2022 走看看