[問題] 請問該怎麼把陣列全清為0?

看板C_and_CPP作者 (learning)時間15年前 (2009/06/02 20:57), 編輯推噓7(707)
留言14則, 9人參與, 最新討論串1/2 (看更多)
請問是否有什麼方法, 可以快速的把一個一維陣列 全部的值都清為 0 ? 如果是高維陣列呢? 有快速的辦法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.152.8

06/02 21:06, , 1F
memset
06/02 21:06, 1F

06/02 21:16, , 2F
高維一樣
06/02 21:16, 2F

06/02 21:27, , 3F
ZeroMemory
06/02 21:27, 3F

06/02 21:33, , 4F
如果是malloc/new回來的多維陣列可能要跑迴圈memset
06/02 21:33, 4F

06/02 21:34, , 5F
因為不能保證當初跑迴圈要的mem一定會連續@_@"
06/02 21:34, 5F

06/02 21:35, , 6F
所以常見的策略是只要一維array, 再用pointer指成多維.
06/02 21:35, 6F

06/02 21:35, , 7F
這樣搭memset或其他mem函數就會比較有效率:)
06/02 21:35, 7F

06/02 21:53, , 8F
請問樓上有沒有example阿@@ 看不是很了解又很想知道是什麼
06/02 21:53, 8F

06/02 22:12, , 9F
google memset、memcpy
06/02 22:12, 9F

06/02 22:17, , 10F
請愛用 std::fill
06/02 22:17, 10F

06/02 22:20, , 11F
memset, 靜態的一次, 動態的配合 loop 吧
06/02 22:20, 11F

06/02 22:23, , 12F
calloc 據說會幫你清空...
06/02 22:23, 12F

06/02 22:26, , 13F
@@" calloc 的確會幫你清
06/02 22:26, 13F

06/03 00:17, , 14F
int array[3]={0};
06/03 00:17, 14F
文章代碼(AID): #1A9I79HA (C_and_CPP)
文章代碼(AID): #1A9I79HA (C_and_CPP)