質問

過時間に高いレベルの言語で突然起こってくるということになったはずにもかかわらず、との違いは、Char配列を文字列になります。私も同じことがない。あ間関係についての理解を得ます。はそれだけでは、Char配列の一部を抽象化?

役に立ちましたか?

解決

の文字列は、単に文字の配列です。

文字列は文字の配列を使用するデータ構造である

いくつかの文字列表現は、(Cなど)ヌルターミネータを使用し、他のものは長さを使用するプレフィックス

他のヒント

A文字列の抽象化のですが、文字ののシーケンスのの。これは、実装の何も言います。あなたは文字のリンクリストに基づいて、文字列の実装を作成したい場合は、あなたを停止することは何もありません。

はCなどの言語では、ほとんど差がある - 。C文字列は、一般的にポインタを介してアクセスされる、連続したアドレスでの文字のヌル終端系列であるだけということ

OOP言語、文字列内の

は、いくつかのストリングクラスのオブジェクトであろう。これはおそらく、内部文字配列内のデータを保持しますが、あなたはそれを知っている必要はありません。文字配列は、単純な配列にすることができますが、実装が決定した場合にStringクラスは、文字列の上に多くの操作(部分文字列、正規表現など)を提供することができます。

私の教育プログラミング、このようにのんびりと明らかにするためのこの特定の課題です。

まず、何をもって 共通:両char配列を文字列には配列の文字です。れ 配列 この文字となることもできる列挙です。

現在にあってどのように二つについての追加、特定の 異なる のように、この共通点がある。

A char配列 追加しうる配列は既知の追加:割り出し、ランダムへのアクセスされます。

A 文字列, 一方、この配列の文字数は全体としても、独自の物件です。一部の実装では、これを実現する手段の変更はcharsの保管を終了nullの場合、C文字列が含まれます。

このアプローチの共通性は異なり、そのことも乖離していて役立さまざまなシチュエーション

武器agiは、dexで下がらないboxerぐ.

でCこれらの文字列が末尾に追加のヌル文字を持っているでしょうが、ほぼ同じです。

文字列は、の...(プリミティブデータ型である)文字列であるのに対し、

は、他の言語(Java(登録商標)、C#等)で、文字列は、オブジェクトです。

通常、文字列は文字の配列で実装されています。

ある程度の答えは、あなたが話してどのような言語に依存します。 char配列を使用して、アレイ内で簡単に/変更値を追加することができ、一方、.NET / C#では、世界の文字列は、不変オブジェクトです。あなたは、文字列中の文字を反復処理できるよう文字列は、読み取り専用形式でchar型の配列として扱うことができます。

抽象私の最大の違いは、あなたが彼らと仕事をしたいかにあると思います。テキストのチャンクとの仕事に欠けている、エンドユーザーへのメッセージを表示するようにと言うか、リスト上のいくつかの処理を行って、文字の並びを見ていますか?これは、一定のレベルですべてではなく、主観的です。

Stringは、javaでclassです。それは、例えば、属性を持っているので、 length。あなたは文字列のサイズを求める際だから、単純にそれを返す代わりに、値を毎回計算します。また、他の方法、例えばindexOfsubstring、などあなたがいることを自分で行う必要はありませんので、簡単な生活をするために。

A Cスタイルの文字列が内部的に「\ 0」末端に、文字列の最後をindiciatesれます。

で文字の配列によって表されます

はC ++は、文字列を操作するためのいくつかの典型的な文字列操作を提供string.hの中で定義された文字列のコンテナクラスがあります。

これは、言語に依存します。 Cっぽい言語では、彼らはかなり同義です。あなたは違いは「文字列は」暗黙の終端NULを持っているということですが、それは分割毛だろうと主張できます。

Fortranは、他の極端です。そこ文字配列と文字列は異なる操作で、彼らのために利用できる完全に異なる種類があります。

の文字列はヌル文字「\ 0」

で終了する文字列であります

はC、文字列はヌル文字(\ 0)で終了しかし

文字の配列であります C ++、文字列内の

はクラスであり、我々はそのオブジェクトを使用し、ヌル文字が最後ではありません しかし、文字の配列は、末尾のヌル文字が含まれています。

また、私たちはC ++での文字列オブジェクトと演算子を使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top