C言語でのポインタと配列の概念を説明する
ポインタと配列
連続メモリ位置は、コンパイラによって配列のすべての要素に割り当てられます。
ベースアドレスは、配列の最初の要素の場所です。
たとえば、 int a [5] ={10、20,30,40,50};
5つの要素は次のように格納されます-
「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
-
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);
-
C言語でのソート手法を説明する
問題 C言語のさまざまな並べ替え手法は何ですか?例を挙げて、1つの並べ替え手法を説明します。 解決策 C言語には、次の5つの並べ替え手法があります- バブルソート(または)Exchangeソート。 選択ソート。 挿入ソート(または)線形ソート。 クイックソート(または)パーティション交換ソート。 マージソート(または)外部ソート。 バブルソート これは、交換ソートとも呼ばれる最も単純なソート手法です。 手順 最初の要素をリスト内の残りの要素と比較し、順序が正しくない場合は交換(交換)します。 すべての要素が並べ替えられるまで、リスト内の他の要素についても同じことを繰り返し