Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Cのポインタと配列の違い


違いを示すポインタと配列の詳細は次のとおりです。

ポインタ

ポインタは、別の変数のアドレスを格納する変数です。メモリが変数に割り当てられると、ポインタは変数のメモリアドレスを指します。単項演算子(*)は、ポインター変数を宣言するために使用されます。

ポインタ宣言の構文は次のとおりです。

datatype *variable_name;

ここで、datatypeはint、char、floatなどの変数のデータ型であり、variable_nameはユーザーが指定した変数の名前です。

ポインタを示すプログラムは次のとおりです。

#include <stdio.h>
int main () {
   int a = 8;
   int *ptr;
   ptr = &a;
   printf("Value of variable a: %d\n", a);
   printf("Address of variable a: %d\n", ptr);
   return 0;
}

上記のプログラムの出力は次のとおりです。

Value of variable a: 8
Address of variable a: -2018153420

配列

配列は、隣接するメモリ位置にある同じタイプの要素のコレクションです。配列の最小アドレスは最初の要素に対応し、最大アドレスは最後の要素に対応します。配列インデックスはzero(0)で始まり、配列のサイズから1を引いたもの(配列サイズ-1)で終わります。

出力

配列の構文は次のとおりです。

type array_name[array_size ];

ここで、array_nameは配列に付けられた名前であり、array_sizeは配列のサイズです。

配列を示すプログラムは次のとおりです。

#include <stdio.h>
int main () {
   int a[5];
   int i,j;
   for (i = 0;i<5;i++) {
      a[i] = i+100;
   }
   for (j = 0;j<5;j++) {
      printf("Element[%d] = %d\n", j, a[j] );
   }
   return 0;
}

出力

上記のプログラムの出力は次のとおりです。

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104

  1. C#のリストと配列の違いは何ですか?

    配列は同じタイプの要素の固定サイズのシーケンシャルコレクションを格納しますが、リストはジェネリックコレクションです。 リストを定義するには- List<string7gt; myList = new List<string>(); リストに要素を設定するには、Addメソッド-を使用する必要があります myList.Add("Audi"); myList.Add("BMW"); myList.Add("Chevrolet"); myList.Add("Hyundai"); 配列を定義するには-

  2. GoとJavaの違い。

    行く Goは手続き型プログラミング言語です。プログラムはパッケージを使用して組み立てられます。動的言語に似たパターンを採用する環境をサポートします。 Java Javaはオブジェクト指向プログラミング言語です。 Javaは静かで高速、信頼性が高く、安全です。最も広く使用されている言語でもあります。 GoとJavaの重要な違いは次のとおりです。 Sr。いいえ。 キー 移動 Java 1 タイプ Goは手続き型プログラミング言語であり、動的言語と同様のパターンをサポートしています。 Javaはオブジェクト指向プログラミング言語です。 2 クラスのサポート