|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何把字符數組轉成unsigned int型的數
:roll:
各位高手我想問一下如果把一個字符數組(長度為8字節)拼成一個unsigned int 型的數。 |
如何把字符數組轉成unsigned int型的數
使用類型轉換的方法
char a[8];
*( (long&)a ) =99L; |
如何把字符數組轉成unsigned int型的數
請詳細解釋一下這條賦值語句*( (long&)a ) =99L;的含義好嗎?
謝謝。 |
如何把字符數組轉成unsigned int型的數
(long &) a 把a 看成是long型地址
*( (long&)a ) 把long型地址轉換成long型指針 |
如何把字符數組轉成unsigned int型的數
那99L是什麼意思呢? |
如何把字符數組轉成unsigned int型的數
把99 看成long型 |
如何把字符數組轉成unsigned int型的數
上鋪的弟兄啊,long不是四個字節的嗎?
難道C裡還有超過四個字節的數據類型嗎?
long 和int 長度不是一樣的嗎?哪裡有8個字節的unsigned int的數啊? |
如何把字符數組轉成unsigned int型的數
double has 8 bytes |
如何把字符數組轉成unsigned int型的數
-->
*((long &)a) 是錯誤的寫法。 |
如何把字符數組轉成unsigned int型的數
一、可以做強制類型轉換;
二、用聯合;
三、其他同志介紹...... |
如何把字符數組轉成unsigned int型的數
flw 兄指的對
寫法應該是
*((long*) a)=99;
另外回xingli_nari 問題
一個long 在32 位機中是4 位
轉換時也只是轉換前4位
後面有沒有內容
定義成4也可以 |
| |