memset 與sizeof()

來源:互聯網
上載者:User
具體memset用法網路資源有很多,以下介紹個人心得。===================================================================

memset 用法

(第三個參數為位元組數)1,對於字元數組char a[10];memset(a,'A',sizeof(a));2,對於整形數組int a[10];memset(a,0,sizeof(int)*10);整形數組也只能填充0和-1,而double類型則只能填充0.根據二進位儲存double類型原理若使用memset(a,0,sizeof(a));在vs2005內可安全執行,但到了OJ上會出現runtime error報錯 //保留最終解釋權;若使用memset(a,0,10);則數組亂碼,因為int需要4個位元組數表示一個十進位。這裡僅表示了2個半數====================================================================比較sizeof(int)與sizeof(a)關係sizeof(int)為擷取類型位元組數,如果作業系統為32位,則結果為4;而sizeof(a)則是擷取a的 位元組數;====================================================================sizeof()對結構體與類取位元組操作:struct def{int data;double data1;char data2;};位元組總數為:int m=4+4+8+1=17,17>sizeof(double),添加至sizeof(double)的倍數因為根據vc的對齊法則得int 之後為double ,增加總數至8,進行相加。由於m>sizeof(double),使mz增加至sizeof(double)的倍數。這個的sizeof(double)為結構體內位元組數最多類型。===========================================================================今天做了道簡單的DP水題後,發現對memset以及sizeof()都不甚瞭解。補充基礎。===========================================================================參考資料:http://dev.csdn.net/Develop/article/42/42446.shtm===========================================================================自從寫了高校杯的文檔後,發現自己要加強這方面的專業水準,為了日後的發展~~ 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.