技術共有

『C言語プログラミング 第4版』注意事項とコード 第10章 文字列

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

第十章

10.1 文字列リテラル

1 文字列リテラル(つまり、文字列定数)。二重引用符のペアで囲まれた値です。文字列 。二重引用符で囲まれた文字の数に関係なく、それらは文字列リテラルを表します。

2 "a" は文字列リテラル、'a' は文字定数であり、異なります。

3 文字列は実際にはいくつかの要素で構成されています有効な文字「0」で終わる一連の文字。

10.2 文字列の保存

1 文字列アクセス文字配列満たすため。ただし、文字配列に格納される不確かな最後の要素が次の場合にのみ文字列になります。’0’その場合のみ文字列を表します。

2 文字列終了フラグ「0」は、文字列も占有していることを示します。1バイトメモリ、ただし文字列には含まれない実際の長さ

3 許可される文字列初期化の 1 つの形式:

char str[6]={'h','e','l','l','0','0'};

配列の長さの宣言を省略することもできます (長さは明らかですが、「0」は省略できないことに注意してください)。

char str[ ] = {'h','e','l','l','0','0'};

または、文字配列を文字列定数で初期化します。

char str[ ] = {“hello”};

中括弧を直接省略することもできます。

Char str[ ] =”hello”;

4 文字列の終了識別子を保存するのに十分な記憶領域が必要であることに常に注意してください。そのため、文字配列のサイズは、文字列内の実際の文字数よりも常に大きくなります。もう一つ

5 2 次元配列は行ごとに保存したがって、システムには最初の行の長さを伝える必要があり、初期化リストによって提供される文字列の長さが各行の長さよりも短い場合、システムは自動的に次の単位を割り当てます。”0”

10.3 文字ポインタ

1 文字ポインタ文字データを指すポインタ変数です。

2 文字列リテラル自体は、それが格納される定数記憶領域を表します。最初の住所 。それで、単に変更してください最初のアドレスの割り当てポインタ変数を与えることで、文字ポインタが文字列を指すようにすることができます。

弦が3本残っています読み取り専用定数ストレージにあるため、変更のみ可能ですポインタ変数の値、ポインター変数には使用できません指されたメモリの場所読み取りおよび書き込み操作を実行します。

変更できるのは ptr の値のみであり、ptr が指すストレージ ユニットは変更できないため、*ptr='W'; は無効です。

4 文字列が保存されている場合配列を指定し、文字ポインタでそれをポイントします。この操作は正当です。のように: