Re: [問題] C語言int轉byte寫入char
請問一下如果剛好跟這題相反
想要將四個char合成int的話
char temp[4];
int *num;
for(int i=0;i<4;i++)
num=(int*)temp[i];
我的想法是這樣 不過根本compile不過
請益各位高手了
※ 引述《pico2k (風月)》之銘言:
: ※ 引述《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: 125.230.54.240
→
12/07 23:58, , 1F
12/07 23:58, 1F
推
12/08 00:02, , 2F
12/08 00:02, 2F
推
12/08 00:11, , 3F
12/08 00:11, 3F
→
12/08 00:11, , 4F
12/08 00:11, 4F
→
12/08 00:11, , 5F
12/08 00:11, 5F
→
12/08 00:12, , 6F
12/08 00:12, 6F
→
12/08 00:12, , 7F
12/08 00:12, 7F
→
12/08 00:15, , 8F
12/08 00:15, 8F
推
12/08 00:55, , 9F
12/08 00:55, 9F
推
12/08 02:01, , 10F
12/08 02:01, 10F
→
12/08 02:01, , 11F
12/08 02:01, 11F
→
12/08 02:03, , 12F
12/08 02:03, 12F
→
12/08 02:58, , 13F
12/08 02:58, 13F
推
12/08 11:51, , 14F
12/08 11:51, 14F
推
12/08 12:49, , 15F
12/08 12:49, 15F
→
12/08 20:45, , 16F
12/08 20:45, 16F
推
12/09 00:44, , 17F
12/09 00:44, 17F
→
12/09 07:19, , 18F
12/09 07:19, 18F
討論串 (同標題文章)