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

C言語でのポインタと配列の概念を説明する


ポインタと配列

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

ベースアドレスは、配列の最初の要素の場所です。

たとえば、 int a [5] ={10、20,30,40,50};

5つの要素は次のように格納されます-

C言語でのポインタと配列の概念を説明する

「p」が整数ポインタとして宣言されている場合、配列「a」は次の代入で指すことができます-

p=a
or
p=&a[0];

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

ポインタ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]のアドレス=ベースアドレス+(3 * intのスケールファクター)

=1000 +(3 * 4)

=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 (”Enter 5 lements”);
   for (i=0; i<5; i++)
      scanf (“%d”, &a[i]);
   p = &a[0];
   printf (“Elements of the array are”);
   for (i=0; i<5; i++)
      printf(“%d”, *(p+i));
   getch();
}

出力

Enter 5 elements : 10 20 30 40 50
Elements of the array are : 10 20 30 40 50

  1. C言語での文字操作の説明

    文字には、(A-Z(または)a- z)、数字(0-9)、空白、またはCプログラミング言語の特殊記号を使用できます。 宣言 以下は、Cプログラミングでの文字演算の宣言です- char a= ‘A’; using a character constant. 文字入出力機能 文字入出力機能を以下に説明します- 例-chara; scanf("%c", &a); printf ("%c", &a); a = getchar ( ); putchar (a); a = getch ( ); putch (a);

  2. C言語でのソート手法を説明する

    問題 C言語のさまざまな並べ替え手法は何ですか?例を挙げて、1つの並べ替え手法を説明します。 解決策 C言語には、次の5つの並べ替え手法があります- バブルソート(または)Exchangeソート。 選択ソート。 挿入ソート(または)線形ソート。 クイックソート(または)パーティション交換ソート。 マージソート(または)外部ソート。 バブルソート これは、交換ソートとも呼ばれる最も単純なソート手法です。 手順 最初の要素をリスト内の残りの要素と比較し、順序が正しくない場合は交換(交換)します。 すべての要素が並べ替えられるまで、リスト内の他の要素についても同じことを繰り返し