看到程式碼如下
#include<stdio.h>
#include<stdlib.h>
1 int main(void)
2 {
3 unsigned char x=1;
4 unsigned long y=3;
5
6 for (;;){
7 printf("y = %d\n", y );
8
9 *( (unsigned char*)(&y)+1 )= *( (unsigned char*)(&y)+1 )+x;
10
11 system("pause");
12 }
13 system("pause");
14 return 0;
15 }
這程式第9行 可看成 y=y+x*256;
但不曉得為什麼可以這樣子用?
板上大大們可否幫小弟解惑一下 感激不盡
--
CPU (中央處理器):Intel Core i5-430M
RAM (記憶體):DDR III 2GB*1
VGA (顯示卡):ATI Radeon HD5470 with 1GB DDR3 VRAM
HDD (硬碟):SATA 500GB
LCD (螢幕尺寸):15.6"HD 1366 ×768 (Glare Type)
WLAN (無線網路):802.11 b/g/n My MSI CX620...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.77.206.54
→
04/18 00:47, , 1F
04/18 00:47, 1F
→
04/18 00:48, , 2F
04/18 00:48, 2F
推
04/18 02:00, , 3F
04/18 02:00, 3F
→
04/18 02:01, , 4F
04/18 02:01, 4F
→
04/18 02:03, , 5F
04/18 02:03, 5F
→
04/18 02:15, , 6F
04/18 02:15, 6F
→
04/18 14:33, , 7F
04/18 14:33, 7F