作者jiunlin (jiunlin)
看板PangSir
标题Re: [问题] 又一个小小的问题
时间Thu Nov 4 15:26:37 2004
※ 引述《IrisXIII (噜噜叭叭爱装可爱星期五ꜩ》之铭言:
: 就是我在课本的p125看到了两种CODE:
: 第一种
: arrayB BYTE 10h,20h,30h,40h
: ptrB DWORD arrayB
: (这一段的意思是说ptrB是一个DWORD大小的pointer variable,
: 然後他把arrayB的位址放在里面吗?)
: 第二种
: PBYTE TYPEDEF PTR BYTE
: arrayB BYTE 10h,20h,30h,40h
: ptr1 PBYTE arrayB
: 我的问题在於说,arrayB的位址不是一个DWORD大小的值吗?
: 那为什麽在第二种CODE里面却用BYTE的大小就可以存呢?
1. 是的。
2.1 arrayB的位址是一个DWORD大小的值没错。
2.2 请问一下你是怎麽知道他是用BYTE的大小存的呢?如果你有自己先写一个程式
试试看的话你会发现,ptr1的长度是一个DWORD,而不是一个BYTE。这个观念
就跟C语言中的指标一样,你宣告的type,PTR BYTE,代表这个指标会被用来
指向一个宣告为BYTE的东西,事实上他一样是个长度为DWORD的指标,而非他
自己的长度为一个BYTE。
TA
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.82