スピーカ1:私は傾向があるようなので、私は感じて printf関数のHello Worldやprintfを書く こんにちはパーセントのかなり頻繁に文脈で 私はプリントアウトしたい場所 文字列、時々尋ねる その文字列のユーザ部分。 我々が作成している場合まあ、それはいいではないでしょう 私たち自身の関数を呼び出し、 、その目的は生活の中で、印刷の名前を言う こんにちは、カンマを印刷するだけである 誰それ誰それを受け入れることにより、 その関数への引数として? 我々は独自の関数を宣言することができます ちょうど私達が次のようにスクラッチではできる限り。 言い換えれば、私はしたいのですがあるとし 自分の名前をprintf関数とし、ユーザーに確認 彼または彼女の名前の文字列を持つため SはGetStringメソッドに相当します。 そして私は、関数を呼び出したい と呼ばれる印刷名 その入力としてSを渡す。 今、残念ながら、何の機能はありません プリント名は、C言語で、またはで呼び出さ CS50ライブラリ。 しかし、どんなに、私たちのため それ自身にすることができます。 私たち自身の関数を宣言し、 それを実現するには、単に行うことができます このファイル内と宣言する余地 無効この機能は、次のように - 機能がないことを意味する 実際に何かを返すつもり、 それがなければならないにもかかわらず、 副作用 - 名前を印刷し、それではに指定できます プリント名が期待する括弧 String型の引数。 そして一般的に、我々は思うだろう 名前とそれの。 そして私たちの中括弧を開いてみましょう と私たちのブレースを閉じます。 そして、その後のprintf内側こんにちはカンマ パーセントの新しいラインコンマ名。 言い換えれば、たとえこの この関数は、コードの一行のみだが、それ 現在いくつかのより高いがありますか 印刷するレベルの目的 あいさつで誰かの名前。 今、メインの内側に、私はあることに気づく Sを渡すことで、印刷の名前を呼んで。 だから、私は持っているようになりましたようです 完全なプログラム。 他の唯一の違い 私たちは、書いたばかりでないということです このプログラムは、それはまた、主有している 宣言との実装 プリント名、私自身の機能。 それではメイクで自分のプログラムをコンパイルしてみましょう 機能ゼロ、ドットを使用して実行し 機能ゼロを大幅に削減する。 私の名前の入力を求められたら 私はデイヴィッドを入力します。 そして、私は確かに迎えています 「こんにちは、デビッド·。」と 今、それは私は非常に意図的に判明 メイン上で宣言した印刷名、 それによって、事前にCを伝えることがある 印刷と呼ばれる機能が存在している 私が使用できるように名前を付ける それ以降の主にある。 今、私は代わりに、印刷の名前を入れていた 率直に言って、私としての私のファイルの一番下、 おそらく主残るようにすればいい Iまたは最初の事 別のユーザーは、自分のコードで見ている それは私のコードがあることが判明 コンパイルするつもりはありません。 具体的には、私は戻って行けば、私の ターミナルウィンドウと実行は、関数を作る ゼロは、今、私は怒鳴らだことがわかります。 私は私の端末ウィンドウにスクロールすると、 私は、赤で、この最初のエラーが表示されます の暗黙の宣言 機能印刷名。 さて、それは何を意味するのでしょうか? まあ、私が実装したにも関わらず、 このファイルに名前を印刷し、私はいませんでした 私がした前にそれを実装 主にそれを使用していました。 今、私たちは古いに戻って行くことができる バージョンおよびput印刷名の トップアップ実装。 しかし、私だけではなく、Cにヒントを与えることができます 来する機能があることを。 具体的には、主の上に私は宣言することができます 私は先に行ったように名前を印刷しますが、 それによって、セミコロンで行を終了 実装するために有望ではないが、まだ 実際に機能を実現 印刷nameという。 私はその後、私のの上部のメイン持つことができます 私が望んでいて、私は実際にできるように、ファイル 下部にプリント名を実装します。 私は今、私の端末ウィンドウに戻ると メイクで機能ゼロを再コンパイルし、 今回はそれがコンパイルされます。 そして、私は、ドットスラッシュ機能とそれを実行した場合 ゼロが私の名前を指定して、私は今 「デイヴィッド、こんにちは。」として迎え