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