C 数组与指针区别

1:先看一个错误例子:数组的定义等同于指针的外部声明?


2:回忆定义与声明区别



3:"地址"与"地址的内容"区别

首先我们应该知道"地址y"与"地址y的内容"的区别,以赋值语句为例:x=y


左值可以标记一个存储的位置,右值可以指定一个值。
L-value中的L指的是Location,表示可寻址。The "l" in lvalue can be though of as location
R-value中的R指的是Read,表示可读。The "r" in rvalue can be thought of as "read" value. 

 注意1:数组名,函数,函数调用,枚举常量,赋值表达式,强制类型转换(目标类型是引用时除外)不能为左值,即只能为右值。

注意2:下列运算符的操作数必须为左值

取地址运算符 & , ++ 运算符, -- 运算符,赋值 = 运算符的左操作数,成员 . 运算符的左操作数。

例子:


4:对指针和对数组下标的引用的区别

对数组下标的引用:


对指针的引用:


对指针进行下标引用




由上可知上述错误例子是由于定义与声明之间不匹配;


5:指针与数组区别


6什么时候数组与指针相同


7:数组形参和指针等同


补充:实参数组名相当于指针常量,不可修改,但形参数组名实质上就是指针可修改。


例子:



8:数组和指针可交互性总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值