作者pico2k (風月)
站內C_and_CPP
標題Re: [問題] C語言int轉byte寫入char
時間Fri Aug 13 19:32:08 2010
※ 引述《Rebeel (123)》之銘言:
: 遇到的問題: (題意請描述清楚)
: 今天面試被問到一個問題
: 當場掛住= =||
: 回來後查了一些資料還是不太懂
: 感覺是很基礎的問題但是從來沒想過...
: int a 為1個4 byte
: char a1,a2,a3,a4 為4個 1 byte
: 問題:如何將 int a □□□□
: 分別寫入 a1 □ a2 □ a3 □ a4 □
: 首先第一個疑問是,例如int a=10 好了,那int a=10 所佔的4個byte裡面是什麼呢?
: 光是這個我就搞不懂了= =
: 再來是要寫到char裡面
: 一個char不是一個字元嗎?
: int a=10 那 4個byte不會是1010吧!
: 既然不是剛好 4個字元
: 又要怎麼寫到 4個char裡面?
: 上網查了一下有些Java或C++的範例
: 但是跟我想問的好像不太一樣...
...
int a = 10;
char *c = null;
c = (char*)&a;
a1 = *c;
a2 = *(c+1);
a3 = *(c+2);
a4 = *(c+3);
...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.64.95
→ winest:我笨了XD 08/13 19:35
推 Rebeel:感謝!! 08/13 20:04
→ avhacker:幹嘛要多一次的 assignment 寫 = null?直接宣告指向a就好 08/13 21:36
→ x000032001:習慣吧 這有甚麼好挑的= = 08/13 21:45
→ loveme00835:一步一步來~ 太快反而不好理解 08/13 21:52
→ alongalone:其實上一篇的love大說的union最快...XD 08/13 23:02