指针和数组的区别

本文详细解释了数组和指针之间的区别,包括数组不能作为左值、数组名被视为指针常量的概念,以及通过sizeof运算符获取数组和指针大小的不同结果。此外,还讨论了一维数组与指针在使用*运算符时的行为差异。

baidu,google了好一阵子。

区别如下:

int a[10],int *b;

1.数组不能作为左值,可以将数组名理解为一个指针常量。

a可以理解为一种常量,类型是数组。

2。众所周知,指针的存放方式实际上是一个int型,所以....

sizeof(a)是40,sizeof(b)是4;sizeof()的单位是byte.

3. 对数组名和指针使用 *操作符时貌似用法相同。

一维数组和指针在"*"运算是都有访存操作。
多维数组在"*"运算只是类型改变,没有具体操作。
指针变量在"*"运算时先访存,获得地址,再取地址对应内存中的值。

指针变量在"&"运算时,得到指针变量的地址。
数组在"&"运算只是类型改变,没有具体操作。

转载于:https://www.cnblogs.com/zedzhao/articles/1616029.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值