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

C言語の構造体へのポインタにアクセスするにはどうすればよいですか?


構造体へのポインタは、構造体全体のアドレスを保持します。

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

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

宣言

以下は、構造体へのポインタの宣言です-

struct tagname *ptr;

たとえば、struct student * s;

アクセス

次の-

を使用して、構造体へのポインタにアクセスできます。
Ptr-> membername;

たとえば、s-> sno、s-> sname、s-> marks;

以下は、構造体へのポインタにアクセスするためのCプログラムです-

#include<stdio.h>
struct classroom{
   int students[7];
};
int main(){
   struct classroom clr = {2, 3, 5, 7, 11, 13};
   int *ptr;
   ptr = (int *)&clr;
   printf("%d",*(ptr + 4));
   return 0;
}

出力

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

11

説明

ここでは、ポインタ変数 ptr オブジェクトclrの最初の値2のアドレスを保持します。次に、ポインタ変数のアドレスが4ずつインクリメントされ、最後に値が表示されます。

たとえば、

*(ptr + 0) = 2
*(ptr + 1) = 3
*(ptr + 2) = 5
*(ptr + 3) = 7
*(ptr + 4) = 11
*(ptr + 5) = 13

構造体へのポインタについて知るための別の簡単な例を考えてみましょう-

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\n");
   printf ("Number = %d\n", st ->sno);
   printf ("name = %s\n", st->sname);
   printf ("marks =%f", st->marks);
   getch ( );
}

出力

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

enter sno, sname, marks :1 bhanu 69
details of the student are
Number = 1
name = bhanu
marks =69.000000

  1. Windows 11 でシステム言語を変更する方法

    Windows コンピューターを初めてインストールするときはいつでも、Windows PC の既定のシステム言語を設定するオプションが常に表示されます。興味深いことに、Windows オペレーティング システムでは、いつでも変更できるようになりました。 したがって、システム言語を切り替える必要がある場所にいることに気付いた場合は、幸運です。この記事では、Windows 10 または Windows 11 でシステム言語を変更する正確な手順について説明します。始めましょう。 Windows 11 でシステム言語を変更する方法 システム言語を変更したい場合は、選択できるオプションが多数あります

  2. Windows 7 で表示言語を変更する方法

    物事をよりよく理解できる方法で見るのは良いことです。母国語が英語以外の場合、多くのことに対処するのに少し戸惑うかもしれません。ただし、Microsoft は、英語以外の言語を話す人を大切にしており、言語を変更することを許可しています. 以下の手順に従って、Windows 7 の表示言語を変更できます: コントロール パネルから [地域と言語] ウィンドウを開くか、[スタート] ボタンをクリックして表示される Windows 検索ボックスに「表示言語の変更」と入力します。 上部の [キーボードと言語] タブに切り替えます。 [言語のインストール/アンインストール…] をクリックし