作者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