. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
自由讨论区
主题 : :
指针的大小,指针是存放的偏移地址吗?
[待解决]
回复[
10
次 ] 点击[
1334
次 ]
mouse
[帖 主]
[ 发表时间:2007-11-26 21:06 ]
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
指针的类型是由什么决定的呢?
sizeof(Type *)=??
==================
指针的大小是由内存寻址空间决定的,即地址总线决定。
一般32位机寻址空间4G,所以指针占4字节;
一般8位的单片机寻址空间是64k,所以指针占2字节。
----------------------------------
指针的大小是由内存寻址空间决定的->能不能说:指针存放的是地址,所以它于内存寻址的能力有关,在8086cpu下,地址线是20根,它的寻址能力是1兆。它采用的是段地址+偏移地址(各占两个字节),指针中存放的是偏移地址-》2个字节??
char * a
int * a
-----------------
至于这两个,我觉得前面的数据类型,是在a++的时候起作用,访问下一个数据时候向后地址偏移一个字节还是一个字和取出的字节还是字。
mouse
[第
7
楼]
[ 回复时间:2007-12-18 12:27 ]
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
确实有些麻烦了,是不是这样:
我们写程序的时候定义了指针,跟其它变量一样,在C语言编译器编译时候就分配了内存,存放偏移地址或是段地址和偏移地址,具体执行访问就和汇编的访问内存单元一样得到数据。
我觉得这样应该是比较合理的,保存现场有些过头了~
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved