C语言奇妙之旅_数组

数组的本质

        任何数组, 不论是静态声明还是动态创建的, 所有元素都在内存中都是连续字节存放的, 

    也就是说保存在一个大块链接的内存区中。

数组元素的下标编号从0开始, 最后一个元素的下标等于元素个数减1。 下标必须是整数或整数的表达式。 通过下标引用一个数组的元素, 在本质上和引用一个类型的变量没有区别, 编译器通过下标值来计算你所引用的元素在内存中的地址。 因此, 在语义上, 下标操作符返回的是一个元素的引用

例如

       数据类型 a[4] = 100;

其实, 当你使用"[]"来引用数组元素的时候, 编译器必须把他转换为同类型的指针表达形式, 然后再通过编译。

注意: 数组实现了相同类型对象的集合。

数组的初始化

          除了的确没有必要的情况, 都需要对变量进行初始化。

    另外数组的初始化还有这样一个原则: 当初始值的元素数量不足时, 会自动用0对剩余的元素进行初始化、

注意: 不要在程序中直接使用数值。对复制语句进行判定的时候。假如是 int a[2] = {0, 1, 2, 3}这样是错误的, 数组元素可以少但是不能多应该改成 int a[2] = {0, 1}

简单的例子

/*
* 编写时间:  2018/7/24
* 编写作者: 流光飞霞
* 程序功能:  数组简单的例子
* 程序版本:  V2.33
**/

# include <stdio.h>

int main()
{
    int i;
    /* 大括号内的就是初始化, j[6]代表有6个元素 */
    int j[6];

    for ( i = 0; i < 6; i++ )
    {
        printf("请输入第%d为同学的成绩: ", i+1);
        scanf("%d", &j[i]);
        printf("第%d为同学的成绩是: %2d\n", i+1, j[i]);
    }

    return 0;
}

例子_1

/*
* 编写时间:  2018/7/24
* 编写作者: 流光飞霞
* 程序功能:  数组简单的例子
* 程序版本:  V2.33
**/

# include <stdio.h>

int main()
{
    int i = 100;
    int a[10] = {0, 1, 2, 3};

    for ( i = 1; i < 10; i++ )
        printf("%d\n", a[i]);

    return 0;
}

 

猜你喜欢

转载自blog.csdn.net/qq_39637265/article/details/81319902
今日推荐