1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> DAVID J·マラン:それでは、プログラムを書いてみましょう つまり、文字列の入力をユーザーに要求し、 3 00:00:03,140 --> 00:00:07,210 その文字列を印刷するために進んでください 行ごとに文字のいずれかの文字。 4 00:00:07,210 --> 00:00:10,570 今、過去に、我々はそうしただろう おそらく角括弧表記で、 5 00:00:10,570 --> 00:00:13,680 効果的に文字列を処理する 文字の配列です。 6 00:00:13,680 --> 00:00:17,200 >> 今回は、のではなく、治療しましょう それは本当に、aは何のための文字列 7 00:00:17,200 --> 00:00:18,770 ポインタまたはアドレス。 8 00:00:18,770 --> 00:00:22,420 具体的には、アドレス 文字、本当にアドレス 9 00:00:22,420 --> 00:00:25,740 のシーケンスの最初の文字、 我々は総称して知っている文字 10 00:00:25,740 --> 00:00:26,860 文字列として。 11 00:00:26,860 --> 00:00:30,740 >> まずは文字列を宣言してみましょう それが本当に何なのか、CHAR *。 12 00:00:30,740 --> 00:00:31,770 そして、我々は、S、それを呼ぶことにします。 13 00:00:31,770 --> 00:00:34,670 してからリターン割り当てる GET文字列の値。 14 00:00:34,670 --> 00:00:36,380 >> それでは、次のいくつかのエラーチェックをやってみましょう。 15 00:00:36,380 --> 00:00:42,920 sがnullの場合、のはすぐに戻りましょう 我々はしない誤っないように 16 00:00:42,920 --> 00:00:45,630 そのNULLポインタデリファレンス。 17 00:00:45,630 --> 00:00:49,750 >> 次は、を反復しましょう s内の文字次の通りである。 18 00:00:49,750 --> 00:00:52,390 int型のために、私は0を取得します。 19 00:00:52,390 --> 00:00:55,890 nはSの文字列の長さに等しい。 20 00:00:55,890 --> 00:00:58,050 限り、私はnよりも小さい限り、これを行う。 21 00:00:58,050 --> 00:01:00,690 そして各反復では、私をインクリメント。 22 00:01:00,690 --> 00:01:02,710 >> そして、我々はために何をしたいですか 各反復で行う? 23 00:01:02,710 --> 00:01:06,180 それでは、各繰り返しでプリントアウトしてみましょう 単一文字 24 00:01:06,180 --> 00:01:07,910 新しい行が続く。 25 00:01:07,910 --> 00:01:10,010 さて、どのような文字を行う 私たちは、印刷したい? 26 00:01:10,010 --> 00:01:16,850 私たちは、アドレスに行くことを提案する それは、sの合計に等しいプラス私。 27 00:01:16,850 --> 00:01:18,390 >> 今、なぜその式? 28 00:01:18,390 --> 00:01:22,130 さて、Sに格納されているリコールはある 最初の文字のアドレス 29 00:01:22,130 --> 00:01:23,490 私たちの文字列では、s。 30 00:01:23,490 --> 00:01:27,470 一方、私は上のインクリメントされている 各反復では0で始まるように、 31 00:01:27,470 --> 00:01:29,590 それから1になると、2に行く。 32 00:01:29,590 --> 00:01:33,870 >> 換言すれば、Sプラス私で効果的に のアドレスを表し 33 00:01:33,870 --> 00:01:35,990 s内のi番目の文字。 34 00:01:35,990 --> 00:01:40,830 だから我々は、を介して、そのアドレスにアクセスした場合 *演算子は、我々に行くことがあります 35 00:01:40,830 --> 00:01:42,650 文字列のi番目の文字。 36 00:01:42,650 --> 00:01:45,700 そして、それはなり、値の 私たちのプレースホルダの代わりに、 37 00:01:45,700 --> 00:01:46,840 パーセントで 38 00:01:46,840 --> 00:01:47,840 >> それでは同じくらい確認しましょう​​。 39 00:01:47,840 --> 00:01:51,720 コンパイルの保存しましょう​​、と このプログラムを実行する。 40 00:01:51,720 --> 00:01:55,990 ポインタ、ドットスラッシュポインタを作る。 41 00:01:55,990 --> 00:01:58,780 そして今、私はそれをあげる こんにちはのような文字列。 42 00:01:58,780 --> 00:01:59,600 入力してください。 43 00:01:59,600 --> 00:02:03,770 >> 実際、私がして、H-E-L-L-Oを参照してください。 独自の行の各文字。 44 00:02:03,770 --> 00:02:05,410