構造体 学生stu_1; // 型構造体学生stu_1用の可変定義 構造体 学生* P; // 定義のデータ型構造体学生点ポインタ変数 P =&stu_1; // P点STU
構造変数STUと同等にPポイントの場合:
(1)STU。メンバー名(なstu.numなど)
(2)(* P)。メンバ名(例えば、(* P).num)
(3)P->メンバー名(例えば、P-> NUM)
1 // 输出最高成绩 2 3の#include <stdio.hの> 4 の#define N 3 5 構造体学生 6 { 7 のint NUM。 8 文字の名前[ 20 ]。 9 フロートスコア[ 3 ]。 10 フロートAVER。 11 }。 12 ボイド入力(構造体学生STU [])。 13 構造体学生MAX(構造体学生STU [])。 14 ボイドプリント(構造体の学生STU)。 15 のint main()の 16 { 17。 構造体スチューデントSTU [N]、* P = STU; 18である INPUT(P) 。19 プリント(MAX(P)); 20が 戻り 0 ; 21れる } 22は、 空隙(INPUT 構造体スチューデントSTU [] ) 23である { 24 int型私は、 25 のprintf(" それぞれの生徒の情報を入力してください:番号、名前、3つのコースの結果:\ N- " ); 26がある ため(I = 0 I <Nで;私は++ ) 27 { 28 scanfの("%D%の%F%F%F "、&STU [I] .num、STU [I] .nameの、&STU [I] .score [ 0 ]、&STU [I] .score [ 1 ]、&STU [I] .score [ 2 ]); 29 STU [I] .aver =(STU [I] .score [ 0 ] + STU [I] .score [ 1 ] + STU [I] .score [ 2 ])/ 3.0 ; / / 求平均值 30 } 31 } 32 構造体学生MAX(構造体学生STU []) 33 { 34 のint I、M = 0 ; 35 用(i = 0 ; iがN <、iは++ ) 36 { 37 IF(STU [I] .aver> STU [M] .aver)M = I; 38である } 39 リターンSTU [M]; 40 } 41が ボイドプリント(構造体学生スタッド) 42は 、{ 43である のprintf(" \ nは、最高スコア\ N-である" ); 44である のprintf(" %のD 」、stud.num); 45 46れています }