打印

向各位老师请教一个关于指针类型的问题

[复制链接]
1693|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xd54622|  楼主 | 2011-7-22 20:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假如我申请一个unsigned char 类型的数组a[300],意思是这个数组的容量比较大,超过了256个,如果我用一个unsigned char *ptr的指针来访问这个数组,要全部访问所有数组里的元素的话是否可以?主要不明白的就是unsigned char 类型的指针,指针长度是否也是一个字节长度?要是一个字节长度的话肯定就不够访问了。刚才请教了别人说的可以全部访问,char类型的指针,并不是说此指针的长度为8bit。我还不是很懂,指针的类型是不是只是说明每次指针加1的话就是加指定类型长度,而不是说指针长度为这个类型的长度。指针的长度到底是怎样的呢?

相关帖子

沙发
xd54622|  楼主 | 2011-7-22 20:39 | 只看该作者
呵呵,新手问问题,不知道说的清楚不,望各位前辈仔细看一下,谢谢了

使用特权

评论回复
板凳
johnwjl| | 2011-7-22 21:02 | 只看该作者
unsigned char *ptr
unsigned char是指针指向对象的类型,。
指针中的内容为对象的地址,在8位机,一般用16位表示。
所以你说的不能全部访问是不可能的。

使用特权

评论回复
地板
mohanwei| | 2011-7-22 21:10 | 只看该作者
以前没有网络的时候我的做法是写个demo直接试一下……:lol

使用特权

评论回复
5
xd54622|  楼主 | 2011-7-22 21:22 | 只看该作者
unsigned char *ptr
unsigned char是指针指向对象的类型,。
指针中的内容为对象的地址,在8位机,一般用16位表示。
所以你说的不能全部访问是不可能的。

就是说指针的长度就是地址的长度了,我用的是51系列单片机,16位寻址,所以指针长度也为16bit了,哦,这个样子啊,谢谢了

使用特权

评论回复
6
xd54622|  楼主 | 2011-7-22 21:24 | 只看该作者
TO 4楼
呵呵,我自己试过是可以的,就是还不是很理解指针类型和指针长度的关系,所以发帖问了一下

使用特权

评论回复
7
xd54622|  楼主 | 2011-7-23 11:55 | 只看该作者
呵呵,好了,结贴给分了,谢谢各位老师帮助!

使用特权

评论回复
8
CY0904030105| | 2013-6-26 10:28 | 只看该作者
顶一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天进步一点点,向前辈看齐

0

主题

276

帖子

1

粉丝