سلام
ببینید الان pArray به صورت 32 بیتی به ارایه Array اشاره میکنه.
شما اگر بخواید مقدار ارایه رو به صورت 32 بیتی تغییر بدید از pArray[i]s
استفاده کنید و اگر بخواید به صورت 8 بیتی تغییر رو بدید باید از Array استفاده کنید.
متغییر data رو فقط برای نشان دادن خونه سوم ارایه pArray گذاشتم.
کاری که شما گفتید روش های دیگه ایی هم داره مثل استفاده از union
شاید این دو مثال زیر بهتر باشه:
کد:
// Example 1 : Using pointer
dword Data = 0xAABBCCDD;
word *pwData = (word *)&Data;
byte *pbData = (byte *)&Data;
pwData[1] = 0xFFEE;
pbData[2] = 0x00;
// Example 2 : Using union
typedef union
{
dword Data;
struct
{
word Data_L;
word Data_H;
}w;
struct
{
byte Data_Byte[4];
}b;
}DwordStruct;
DwordStruct dw;
dw.Data = 0xAABBCCDD;
dw.Data_H = 0xFFEE;
dw.b.Data_Byte[2] = 0x00;
تنها نکته ایی که باید بهش توجه کنید little-endian و یا big-endian بودن پردازنده هست .