4.2、数组的基础

本文详细介绍了数组的概念,包括数组的定义、存储方式及其与指针的关系。解释了数组元素的初始化、数组地址与数组名的区别及数组名的特殊性质,并强调了正确理解和使用数组的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、数组是相同类型的变量的有序集合

2、数组在一片连续的内存空间中存储元素

3、数组元素的个数可以显示或隐式指定
             int a[5] = {1, 2};
             int b[]   = {1, 2};
     a[2],a[3],a[4]的值都是0           b包含了两个元素

4、数组地址与数组名
           ·数组名代表数组首元素的地址
           ·数组的地址需要用取地址符&才能得到
           ·数组首元素的地址值与数组的地址值相同
           ·数组首元素的地址与数组的地址是两个不同的概念

5、数组名的盲点
           ·数组名可以看做一个常量指针
           ·数组名"指向"的是内存中数组首元素的起始地址
           ·在表达式中数组名只能作为右值使用
           ·只有在下列场合中数组名不能看做常量指针
                        ·数组名作为sizeof操作符的参数
                        ·数组名作为&运算符的参数

6、定义为指针,声明为数组  (错误)
        char *p = "Hello World!";
        extern char p[];

7、数组小结
        ·数组是一片连续的内存空间
        ·数组的地址和数组首元素的地址意义不同
        ·数组名在大多数情况下被当成常量指针处理
        ·数组名其实并不是指针,在外部声明时不能混淆
                
    概念的混淆是BUG的根源之一!  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值