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

構造体の個々のメンバーを引数としてC言語で機能するように渡す方法は?


関数への引数として個々のメンバーを渡す-

  • 各メンバーは、関数呼び出しで引数として渡されます。

  • これらは、関数ヘッダーの通常の変数に個別に収集されます。

#include<stdio.h>
//Declaring structure//
struct student{
   int s1,s2,s3;
}s[5];
//Declaring and returning Function//
void addition(int a,int b,int c){
   //Declaring sum variable and For loop variable//
   int i,sum;
   //Arithmetic Operation//
   for(i=1;i<4;i++){
      sum=a+b+c;
      printf("Student %d scored total of %d\n",i,sum);
   }
}
void main(){
   //Declaring variable for For loop//
   int i;
   //Reading User I/p through For loop//
   for(i=1;i<4;i++){
      printf("Enter marks for student %d in subject 1 = ",i);
      scanf("%d",&s[i].s1);
      printf("Enter marks for student %d in subject 2 = ",i);
      scanf("%d",&s[i].s2);
      printf("Enter marks for student %d in subject 3 = ",i);
      scanf("%d",&s[i].s3);
   }
   //Calling function//
   addition(s[].s1,s[].s2,s[].s3);
}

出力

day = 2
month = 1
year = 2010

  1. 構造概念を使用してC言語でビットフィールドを説明する

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

  2. Python関数で値によって引数を渡す方法は?

    与えられたコードの出力は次のとおりです b = 30 a = ['10'] この場合、関数を呼び出した後も値が変更されないため、「a」は値によって渡されるように見えます。したがって、引数がpython関数の値によって渡されたことは明らかです。