[問題] 關於memset語法跟用法的問題

看板C_and_CPP (C/C++)作者 (呼拉拉)時間16年前 (2009/04/07 15:17), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
memset在 cpp-reference上面的宣告是 void* memset( void* buffer, int ch, size_t count ); 中間那個是int, 但是memset的用法卻是把每個byte設成ch的值 我的問題是既然是每個byte都會設成ch, 那為什麼不乾脆把ch設成char呢 而要把ch設成int呢 是有什麼原因嗎? 還有一個問題是 如果想看c的standard function如何定義的, 要去哪邊看呢 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.26.131

04/07 16:23, , 1F
unsigned 跟 signed 的問題?
04/07 16:23, 1F

04/07 23:02, , 2F
為了讓堆疊對齊 所以讓最小參數是int吧
04/07 23:02, 2F

04/07 23:03, , 3F
看ctype判斷char跟stdio的fputc/putchar都是以int為基本
04/07 23:03, 3F

04/07 23:32, , 4F
ctype那堆function用int是為了裝下所有字元加EOF
04/07 23:32, 4F

04/07 23:32, , 5F
memset我猜是K&R C留下來的遺跡@__@
04/07 23:32, 5F
文章代碼(AID): #19sltw12 (C_and_CPP)
文章代碼(AID): #19sltw12 (C_and_CPP)