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

C言語を使用してローカルスコーププログラムで構造を記述します


構造は、さまざまなデータ型変数のコレクションであり、1つの名前でグループ化されています。

構造の特徴

構造の特徴を以下に説明します-

  • 代入演算子を使用すると、異なるデータ型のすべての構造要素の内容を、その型の別の構造変数にコピーできます。

  • 複雑なデータ型を処理するには、ネストされた構造と呼ばれる別の構造内に構造を作成することをお勧めします。

  • 構造全体、構造の個々の要素、および構造のアドレスを関数に渡すことができます。

  • 構造体ポインタを作成することもできます。

構造の宣言

構造体宣言の一般的な形式は次のとおりです-

 datatype member1; struct tagname {datatype member2;データ型メンバーn;};

ここでは、構造体 キーワードです。

タグ名 構造の名前を指定します。

member1、member2 データ項目です。

たとえば、

 struct book {int pages; char作成者[30];フロート価格;};

以下は、ローカルスコープの構造のCプログラムです-

 #include  struct {char name [20]; int年齢; int給与; char add [30];} emp1、emp2; int manager(){struct {char name [20]; int年齢; int給与; char add [50]; } manager; manager.age =27; if(manager.age> 30)manager.salary =65000; else manager.salary =55000; return manager.salary;} int main(){printf( "emp1の名前を入力してください:"); //gets(emp1.name); scanf( "%s"、emp1.name); printf( "\ nemp1の追加を入力してください:"); scanf( "%s"、emp1.add); printf( "\ nemp1の給与を入力してください:"); scanf( "%d"、&emp1.salary); printf( "\ nemp2の名前を入力してください:"); // get(emp2.​​name); scanf( "%s"、emp2.​​name); printf( "\ nemp2の追加を入力してください:"); scanf( "%s"、emp2.​​add); printf( "\ nemp2の給与を入力してください:"); scanf( "%d"、&emp2.​​salary); printf( "\ nemp1の給与は%d"、emp1.salary); printf( "\ nemp2の給与は%d"、emp2.​​salary); printf( "\ nマネージャーの給与は%d"、manager()); 0を返す;}

出力

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

 emp1:harienterの名前を入力しますemp1:hyderabadenterの追加emp1:4000の給与を入力しますemp2:luckyの名前を入力しますemp2:chennaiの追加を入力しますemp2:5000emp1の給与を入力します/ pre> 
  1. 構造概念を使用してC言語でビットフィールドを説明する

    ビットフィールドは、変数のサイズをビット単位で指定するために使用されます。通常、構造内で定義されます。 ビットフィールド:1バイト=8ビット たとえば、 例を以下に説明します- Struct info{    int x:2; }; ここで、xは2ビットを占めています。 範囲外のビットフィールドに値を割り当てることは無効です。 サイズとアドレス演算子はビットフィールドに適用できないため、scanfステートメントを使用してビットフィールドの値を入力することはできません。 ビットフィールドに割り当てることができるデータ型は、int、signed int、uns

  2. 再帰を使用して階乗を計算するC#プログラムを作成します

    数値の階乗は、以下の例で再帰関数checkFact()を使用して見つけたものです- 値が1の場合、階乗は1 − であるため、1を返します。 if (n == 1) return 1; そうでない場合、5の値が必要な場合は、次の反復で再帰関数が呼び出されます! Interation1: 5 * checkFact (5 - 1); Interation2: 4 * checkFact (4 - 1); Interation3: 3 * checkFact (3 - 1); Interation4: 4 * checkFact (2 - 1); 再帰を使用して階乗を計算するには、上記で