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

C言語の構造体へのポインタは何ですか?


構造体へのポインタは、構造体全体の追加を保持します。

リンクリスト、ツリー、グラフなどの複雑なデータ構造を作成するために使用されます。

構造体のメンバーには、矢印演算子(->)と呼ばれる特別な演算子を使用してアクセスできます。

宣言

以下は、Cプログラミングの構造体へのポインタの宣言です-

struct tagname *ptr;

例-structstudent* s-

アクセス

構造体へのポインタにアクセスする方法については、以下で説明します。

Ptr-> membername;

例-s->sno、s-> sname、s-> mark;

サンプルプログラム

次のプログラムは、構造体へのポインタの使用法を示しています-

#include<stdio.h>
struct student{
   int sno;
   char sname[30];
   float marks;
};
main ( ){
   struct student s;
   struct student *st;
   printf("enter sno, sname, marks:");
   scanf ("%d%s%f", & s.sno, s.sname, &s. marks);
   st = &s;
   printf ("details of the student are");
   printf ("Number = %d\n", st ->sno);
   printf ("name = %s\n", st->sname);
   printf ("marks =%f\n", st ->marks);
   getch ( );
}

出力

次の結果を生成する上記のプログラムを実行してみましょう-

enter sno, sname, marks:1 Lucky 98
details of the student are:
Number = 1
name = Lucky
marks =98.000000

例2

構造体へのポインタの機能を説明する別の例を考えてみましょう。

#include<stdio.h>
struct person{
   int age;
   float weight;
};
int main(){
   struct person *personPtr, person1;
   personPtr = &person1;
   printf("Enter age: ");
   scanf("%d", &personPtr->age);
   printf("Enter weight: ");
   scanf("%f", &personPtr->weight);
   printf("Displaying:\n");
   printf("Age: %d\n", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}

出力

次の結果を生成する上記のプログラムを実行してみましょう-

Enter age: 45
Enter weight: 60
Displaying:
Age: 45
weight: 60.000000

  1. C言語でのシフト演算とは何ですか?

    問題 C言語を使用して、数値の左シフト、右シフト、および補数を表示する簡単なプログラムは何ですか? 解決策 左シフト 変数の値が1回左シフトされると、その値は2倍になります。 たとえば、a =10、次にa <<1 =20 右シフト 変数の値を1回右シフトすると、その値は元の値の半分になります。 1 =5 例 以下はシフト操作のCプログラムです- #include<stdio.h> main (){    int a=9;    printf("Rightshift of a = %d\n",a&

  2. C言語の主要なデータ型は何ですか?

    「C」コンパイラは、4つの基本的なデータ型をサポートしています。それらは次のとおりです- 整数 キャラクター 浮動小数点 倍精度浮動小数点 プライマリデータ型 整数データ型 整数データ型は、整数と文字を格納するために使用されます。 さらに2つのタイプに分類されます- 整数データ型。 文字データ型。 整数データ型 このデータ型は、整数を格納するために使用されます。 整数ストレージは、符号付き形式と符号なし形式の両方で、short int、int、およびlongintです。 整数データ型 タイプ サイズ(バイト単位) 範囲 制御文字列 short in(ま