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

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


Cの配列は同じタイプの要素を格納するために使用されますが、ポインタは変数のアドレスを格納するアドレス変数です。これで、配列変数にもポインターが指すことができるアドレスがあり、ポインターを使用して配列をナビゲートできます。配列にポインターを使用する利点は2つあります。まず、動的に割り当てられた配列のアドレスをポインターに格納し、次に、配列を関数に渡します。配列を使用する場合と配列へのポインタを使用する場合の違いは次のとおりです。

  • sizeof()演算子 配列の場合は配列のサイズを出力し、ポインタの場合はintのサイズを出力します。

  • 割り当て 配列変数に別の変数のアドレスを割り当てることはできませんが、ポインターはそれを受け取ることができます。

  • 最初の値 最初のインデックス値は、ポインタの値と同じです。たとえば、array [0] ==*p。

  • 反復 配列要素は[]を使用してインデックスを使用してナビゲートでき、ポインターはポインター演算を使用して配列要素へのアクセスを提供できます。たとえば、array [2] ==*(p + 2)

例(C)

#include <stdio.h>
void printElement(char* q, int index){
   printf("Element at index(%d) is: %c\n", index, *(q+index));
}
int main() {
   char arr[] = {'A', 'B', 'C'};
   char* p = arr;
   printf("Size of arr[]: %d\n", sizeof(arr));
   printf("Size of p: %d\n", sizeof(p));
   printf("First element using arr is: %c\n", arr[0]);
   printf("First element using p is: %c\n", *p);
   printf("Second element using arr is: %c\n", arr[1]);
   printf("Second element using p is: %c\n", *(p+1));
   printElement(p, 2);
   return 0;
}

出力

Size of arr[]: 3
Size of p: 8
First element using arr is: A
First element using p is: A
Second element using arr is: B
Second element using p is: B
Element at index(2) is: C

  1. Javaのパッケージとインターフェースの違い

    この投稿では、Javaのパッケージとインターフェースの違いを理解します。 パッケージ これは、一緒になっているクラスやインターフェースのグループです。 「Package」キーワードを使用して作成できます。 インポートできます。 「import」キーワードを使用して実行できます。 例 package package_name; public class class_name {    .    (body of class)    . } インターフェース これは、抽象的なメソッドと定数のグループです。

  2. GoとJavaの違い。

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