看板 C_and_CPP 關於我們 聯絡資訊
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
gozha:unsigned 跟 signed 的問題? 04/07 16:23
sunneo:為了讓堆疊對齊 所以讓最小參數是int吧 04/07 23:02
sunneo:看ctype判斷char跟stdio的fputc/putchar都是以int為基本 04/07 23:03
Fenikso:ctype那堆function用int是為了裝下所有字元加EOF 04/07 23:32
Fenikso:memset我猜是K&R C留下來的遺跡@__@ 04/07 23:32