C语言中对数组,指针,下标,的理解

            # C语言中,对一维数组的指针的下标的理解

解决问题:1.数组的意义和类型
2.数组名的类型和意义
3.指向数组的指针的意义
4.指针加下标的意义

例:
一、 int a[10];
1、a[10]是数组,其中类型是整型。
2、a是数组名,它的值是指针常量,即数组第一个元素的地址,类型取决于数组元素的类型。
此例中,a 的意义“指向int的 常量指针”。(大多数情况下,数组名的意义)
注意:1.不要根据以上事实得出数组和指针是相同的结论,数组和指针具有一些完全不同的特性。
2.数组具有确定数量的元素,而指针只是一个标量值。编译器用数组名来记住这些属性,只有当数组名在表达式中使用时,编译器才会为它产生一个指针常量。
3.注意2中说明数组名的值是指针常量,而不是指针变量,指针常量的值是固定的。所指向的是内存中数组的起始位置。
4.是否可以修改这个指针常量。理论上,修改是把真个数组移动到其他位置。但是,程序完成链接后,内存中的数组位置已经固定了,所以想要修改已经晚了。所以说,数组名的值是一个指针常量。
二、结论:C的下标引用与间接引用表达式是相等的
例如:int a[10];
int *b=a;
*(a+1)与a[1]相等
b与a相等
*b与a[0]相等
b[1]与 间接运算 (b+1)相等 ,即与 星号(a+1)相等。
所以b[1]与a[1]相等
注意:不要越界。例如b[11]是越界的在以上那个例子中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值