Cでのchars[]とchar*sの違い
文字列がchars[]を使用して作成されることもあれば、char*sを使用することもあります。では、ここで違いがあるのか、それとも同じなのかを確認します。
いくつかの違いがあります。 s []は配列ですが、*sはポインターです。たとえば、2つの宣言がそれぞれchars[20]とchar*sのような場合、sizeof()を使用すると20と4が得られます。最初の宣言は20バイトであることを示しているため、最初の宣言は20になります。データの。しかし、これは1つのポインター変数のサイズであるため、2番目のものは4つしか表示していません。配列の場合、合計文字列はスタックセクションに格納されますが、ポインタの場合、ポインタ変数はスタックセクションに格納され、コンテンツはコードセクションに格納されます。そして最も重要な違いは、ポインタ型の文字列を編集できないことです。したがって、これは読み取り専用です。ただし、文字列の配列表現を編集することはできます。
例
#include<stdio.h> main() { char s[] = "Hello World"; s[6] = 'x'; //try to edit letter at position 6 printf("%s", s); }
出力
Hello xorld Here edit is successful. Now let us check for the pointer type string.
例
#include<stdio.h> main() { char *s = "Hello World"; s[6] = 'x'; //try to edit letter at position 6 printf("%s", s); }
出力
Segmentation Fault
-
C#と.Netの違い
C#はプログラミング言語であり、.NETはフレームワークです。 .NETには、.NETFrameworkの仮想コンポーネントである共通言語ランタイム(CLR)があります。 .NETにはC#があるだけでなく、それを介してVB、F#などを操作できます。 C#は.NETの一部であり、次の機能があります- ブール条件 自動ガベージコレクション 標準ライブラリ アセンブリのバージョン管理 プロパティとイベント デリゲートとイベント管理 使いやすいジェネリック インデクサー 条件付きコンパイル シンプルなマルチスレッド LINQおよびLambda式 Windowsとの統合
-
GoとJavaの違い。
行く Goは手続き型プログラミング言語です。プログラムはパッケージを使用して組み立てられます。動的言語に似たパターンを採用する環境をサポートします。 Java Javaはオブジェクト指向プログラミング言語です。 Javaは静かで高速、信頼性が高く、安全です。最も広く使用されている言語でもあります。 GoとJavaの重要な違いは次のとおりです。 Sr。いいえ。 キー 移動 Java 1 タイプ Goは手続き型プログラミング言語であり、動的言語と同様のパターンをサポートしています。 Javaはオブジェクト指向プログラミング言語です。 2 クラスのサポート