ホームページ > バックエンド開発 > C++ > C言語では、ポインタは構造体へのポインタです。

C言語では、ポインタは構造体へのポインタです。

王林
リリース: 2023-08-26 18:45:05
転載
1548 人が閲覧しました

C言語では、ポインタは構造体へのポインタです。

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

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

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

宣言

次は、C プログラミングにおける構造体へのポインターの宣言です -

struct tagname *ptr;
ログイン後にコピー

例- struct Student *s -

Access

構造体ポインタへのアクセス方法を説明します。

Ptr-> membername;
ログイン後にコピー

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

サンプル プログラム

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

#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</p><p>", st ->sno);
   printf ("name = %s</p><p>", st->sname);
   printf ("marks =%f</p><p>", 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:</p><p>");
   printf("Age: %d</p><p>", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}
ログイン後にコピー

出力

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

Enter age: 45
Enter weight: 60
Displaying:
Age: 45
weight: 60.000000
ログイン後にコピー

以上がC言語では、ポインタは構造体へのポインタです。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート