- ベストアンサー
ポインタと()について
((void*)0)がNULLらしいのですが、(void*)0とキャストするだけではダメなのでしょうか?ポインタや配列関係?で()を厳重に多くしている場合をよく見ますが、何か理由があるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
NULLの定義が(void*)0だと、 int array[10]; void *p = NULL[array]; としたときに意味が変わるからではないでしょうか。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
null pointer は「0」でいいんだけどなぁと思いつつ, マクロでは「これでもか!!」というくらい () を厳重にかけますね. もちろん, 「付けないとまずいことがある」(複雑な式を入れると, 演算子の優先順位によって意味が変わることがある) からです.