2014-02-19 122 views
2

是否有在下面的行的任何差異:memset的0和0X00

char myname[512]; -- created a character array and wants to memset it. 

是否有下面的兩行中的任何差異。

memset (&myname, 0x00, sizeof(myname)); 
memset (&myname, 0, sizeof(myname)); 

我很確定這兩個都會使myname數組無效。

+0

不,沒有區別。無論基地是什麼, – Sneftel

+0

'0'都是'0'。 – crashmstr

+0

實際上,技術上'0'被解析爲八進制常數,而不是十進制常量。 – Sneftel

回答

1

0x00語法僅適用於程序員。編譯後的代碼沒有區別。

我想你自己快速嘗試實驗,你可以使用gcc explorer

您會看到生成的程序集是相同的。