タグ

ブックマーク / 0x19f.hatenablog.com (2)

  • 【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報

    C言語で引数なしの関数を書くときに void を書かないのと書くのとで挙動が違うなんて話を聞いたことはないでしょうか? つまり void func() {} と void func(void) {} で挙動が違うという話ですね。 自分も話だけ聞いたことがあったものの2つがどう違うのかはわかっていなかったため、C言語の規格を読みながら何が違うのかを調べてみました。 結果だけ述べると、この2つの書き方は同じように見えて実は明確な違いがあり、引数がない関数を定義/宣言する場合には後者を使うのが適切です。 とは言え、2つの書き方で違いがあるとかほんとかよ?と思う方もいると思うので、まずはこの二つがどう違うのか見ていきましょう。 2つの関数の書き方の違い 早速ですが、以下のプログラムを見てみましょう。 // func_empty.c void func() {} int main(void) { f

    【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報
    nfunato
    nfunato 2019/04/18
  • セキュリティ・キャンプ 2018 (Cコンパイラ自作ゼミ) に参加してきました - 0x19f (Shinya Kato) の日報

    8/14〜8/18の期間でセキュリティ・キャンプ2018のCコンパイラ自作ゼミに参加させていただきました。 なんと4泊5日で1日3が用意されるというQoLの高い環境で、集中して開発ができ最高でした。 Cコンパイラ自作ゼミは「セルフホスト可能なCコンパイラ」の開発を目標にコンパイラを自作するという内容でした。 講師の @rui134 さんと @hikalium (実は大学の同期です!) 、チューターの @retrage01 さんがどんな質問にも建設的に答えをくださって、非常に多くの学びが得られました。 最終的には自作Cコンパイラのセルフホストも達成でき、自分の技術スキルを何段階も成長させられたと感じています。 以下のリポジトリが今回のセキュリティ・キャンプの成果物です。 github.com 前置きが長くなりましたが、この記事では以下のことについて書きたいと思います。 Cコンパイラ自作ゼミ

    セキュリティ・キャンプ 2018 (Cコンパイラ自作ゼミ) に参加してきました - 0x19f (Shinya Kato) の日報
  • 1