ホームページ > バックエンド開発 > C++ > C言語のポインタと配列の概念を説明します。

C言語のポインタと配列の概念を説明します。

WBOY
リリース: 2023-09-12 14:49:01
転載
779 人が閲覧しました

ポインタと配列

コンパイラは、配列のすべての要素に連続したメモリ位置を割り当てます。

ベース アドレスは、配列内の最初の要素の位置です。

例: int a [5] = {10, 20,30,40,50};

これらの 5 つの要素の格納場所は次のとおりです -

C言語のポインタと配列の概念を説明します。

&p' が整数ポインターとして宣言されている場合、次の代入によって配列 &a' を指すことができます。 -

p=a
or
p=&a[0];
ログイン後にコピー

ある要素から別の要素に移動します。 p を使用して各 &a の値にアクセスします。ポインターがインクリメントされると、その値は、指すデータ型のサイズだけ増加します。この長さは「スケールファクター」と呼ばれます。

ポインタ p と変数 a の関係は次のとおりです。-

P   = &a[0] = 1000
P+1 = &a[1] = 1004
P+2 = &a[2] = 1008
P+3 = &a[3] = 1012
P+4 = &a[4] = 1016
ログイン後にコピー

要素のアドレスは、そのインデックスとデータ型のスケーリング係数を使用して計算されます。

a[3]のアドレス=ベースアドレス(スケーリングファクタint of 3*a)

=1000 12

=1012

*(p+3) gives the value of a[3]
a[i] = *(p+i)
ログイン後にコピー

プログラム

#include<stdio.h>
main (){
   int a[5];
   int *p,i;
   clrscr ();
   printf (&rdquo;Enter 5 lements&rdquo;);
   for (i=0; i<5; i++)
      scanf (&ldquo;%d&rdquo;, &a[i]);
   p = &a[0];
   printf (&ldquo;Elements of the array are&rdquo;);
   for (i=0; i<5; i++)
      printf(&ldquo;%d&rdquo;, *(p+i));
   getch();
}
ログイン後にコピー

出力
Enter 5 elements : 10 20 30 40 50
Elements of the array are : 10 20 30 40 50
ログイン後にコピー

以上がC言語のポインタと配列の概念を説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート