【C言語】 man readのvoid *buf引数の型について

C言語関連 | プログラミング48閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

ThanksImg質問者からのお礼コメント

一番最初に「汎用ポインタ」のキーワードを教えていただいたあみやさんをベストアンサーとさせていただきました。他の方々もご回答ありがとうございます。

お礼日時:9/17 10:47

その他の回答(3件)

0

>void型と表記されている意図 void型ではないです。 void*型です。 一般的な教科書・入門書の最後の方に「汎用ポインタ」と書いてあるのがそれです。

0

逆にvoidポインタが存在しなかったとしたら・・・を考えればいいんじゃないすかね。 たとえばstrlenやstrcpyなどのstring.hの関数群は、関数の目的からして引数がchar型ポインタじゃないとダメですけど、一方でreadなどほかの関数でも引数の型を厳密に指定するとしたら不便ですよね。ユーザによってどういう型で使いたいかの目的が異なりますので。それにライブラリヘッダに異なる型のプロトタイプを何個も書く羽目になってしまいます。