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;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值