zoukankan      html  css  js  c++  java
  • C语言的数组

    定义数组

    int arr[3] ;//定义数组
    arr[0] = 1;//进行赋值
    arr[1] = 2;
    arr[2] = 3;

    当定义数组之后,arr就为一个常量,代表数组的地址,就是&arr[0]的地址

    int arr[3] = {1,2,3};//定义数组
        int b = arr;
        int c = &arr[0];
        printf("b === %d
    ",b);
        printf("c === %d
    ",c);

    打印结果:

    b === -272632276
    c === -272632276

    可以看出结果是一样的。

    C语言对数组越界是不做处理的,例如

        int arr[3] = {1,2,3};//定义数组
        int a = &arr[0];
        int b = &arr[1];
        int c = &arr[2];
        int d = &arr[3];
        
        printf("a == %d
    ",a);
        printf("b == %d
    ",b);
        printf("c == %d
    ",c);
        printf("d == %d
    ",d);

    打印结果:

    a == -272632276
    b == -272632272
    c == -272632268
    d == -272632264

    从结果可以看出c并没有进行处理,arr[3]已经超出了数组的长度,但还是打印出了arr[3]的地址

  • 相关阅读:
    随笔
    随笔
    第一个存储过程
    mysql 存储过程
    join
    随笔
    玩家注册登录
    mysql 存储二进制数据
    mysql学习
    socket listen/accept
  • 原文地址:https://www.cnblogs.com/carlos-mm/p/9103419.html
Copyright © 2011-2022 走看看