如何將long型資料的4個位元組儲存在字元數組中?

來源:互聯網
上載者:User

/*前提*/<br /> long a = 0x12345678;<br /> char s[5] = {0};</p><p>/*方法一*/<br />/*原理: 取a的地址,強制轉化為char*,(指標佔一個位元組,正好四個位元組),然後解引用取值並賦給s[i];*/<br /> for(int i = 0;i<4;i++)<br /> {<br /> s[i] = *((char*)&a+i);<br /> }</p><p>/*方法二*/<br />/*原理: 將字元數組(4個位元組),強制轉化為long型指標,解引用,最後賦值;*/<br /> *(long)s = a;</p><p>/*方法三*/<br />/*原理: 使用庫函數,拷貝記憶體;<br />*/<br /> memcpy(s,&a,4);</p><p>/*三者都是同樣的效果的*/<br /> printf("%x %x %x %x/n",s[0],s[1],s[2],s[3]);

 

當然,還需要考慮機器的大小端情況!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.