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

ポインタを使用して文字列の概念を示すCプログラム


文字の配列は文字列と呼ばれます。

宣言

配列を宣言するための構文は次のとおりです-

char stringname [size];

例-charstring[50];長さ50文字の文字列

初期化

  • 単一文字定数の使用-
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 文字列定数の使用-
char string[10] = "Hello":;

アクセス −「\0」に遭遇するまで文字列にアクセスするために使用される制御文字列「%s」があります。

それでは、Cプログラミング言語でのポインターの配列を理解しましょう。

ポインタの配列:(文字列へ)

  • これは、要素が文字列の基本加算へのptrsである配列です。
  • 次のように宣言および初期化されます-
char *a[ ] = {"one", "two", "three"};

ここで、a[0]は文字列「one」の基本加算へのポインタです。

a [1]は、文字列「two」の基本加算へのポインタです。

a [2]は、文字列「three」の基本加算へのポインタです。

以下は、文字列の概念を示すCプログラムです-

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers//
   char *s="Meghana";
   //Printing required O/p//
   printf("%s\n",s);//Meghana//
   printf("%c\n",s);//If you take %c, we should have * for string. Else you
   will see no output////
   printf("%c\n",*s);//M because it's the character in the base address//
   printf("%c\n",*(s+4));//Fifth letter a because it's the character in the (base address+4)th position//
   printf("%c\n",*s+5);//R because it will consider character in the base address + 5 in alphabetical order//
}

出力

上記のプログラムを実行すると、次の結果が得られます-

Meghana
M
a
R

例2

別の例を考えてみましょう。

以下に示すのは、ポストインクリメントおよびプレインクリメント演算子を使用して文字を印刷する概念を示すCプログラムです-

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers//
   char *s="Meghana";
   //Printing required O/p//
   printf("%s\n",s);//Meghana//
   printf("%c\n",++s+3);//s becomes 2nd position - 'e'. O/p is Garbage value//
   printf("%c\n",s+++3);//s becomes 3rd position - 'g'. O/p is Garbage value//
   printf("%c\n",*++s+3);//s=3 becomes incremented by 1 = 'h'.s becomes 4th
   position.h+3 - k is the O/p//
   printf("%c\n",*s+++3);//s=4 - h is the value. h=3 = k will be the O/p. S is incremented by 1 now. s=5th position//
}

出力

上記のプログラムを実行すると、次の結果が得られます-

Meghana
d
d
k
k

  1. 文字列とそのアドレスへのポインタの配列を出力するCプログラム

    まず、Cプログラミング言語でのポインターの配列を理解しましょう。 ポインタの配列:(文字列へ) これは、要素が文字列の基本加算へのptrsである配列です。 次のように宣言および初期化されます- char *a[ ] = {"one", "two", "three"}; ここで、a[0]は文字列「one」の基本加算へのポインタです。 a [1]は、文字列「two」の基本加算へのポインタです。 a [2]は、文字列「three」の基本加算へのポインタです。 利点 ポインタの配列の利点を以下に説明します-

  2. フローチャートとプログラムを使用したC言語での意思決定の概念

    以下は意思決定ステートメントです- シンプル–ifステートメント if –elseステートメント ネスト–ifelseステートメント その他–はしごの場合 switchステートメント シンプル–ifステートメント 「if」キーワードは、論理条件が真の場合に一連のステートメントを実行するために使用されます。 構文 if (condition){    Statement (s) } 例 次の例では、数値が50より大きいかどうかを確認します。 #include<stdio.h> main (){    int a;