struct gakusei{ char name[80]; int mathematics; int english; int info_eng; };
実際に,メモリーを確保するためには,次のように書く.gakusei型構造体の変数の宣言で ある.
struct gakusei shimada, yamamoto, E2[45];
賢明な諸君は,あたかもstruct gakuseiが型のように振る舞っていることが分かるだ ろう.すなわち,intのようにstruct gakuseiが型名で,それに続く shimadaとyamamotoが変数名,E2が配列名である.
typedef struct{ char name[80]; int mathematics; int english; int info_eng; } student;
student shimada, yamamoto, E2[45];
1 #include <stdio.h> 2 #include <string.h> 3 4 int main(void) 5 { 6 typedef struct{ 7 char name[80]; 8 int mathematics; 9 int english; 10 int info_eng; 11 } student; 12 13 student shimada, yamamoto, E2[45]; 14 int av; 15 16 strcpy(shimada.name,"shimada masaharu"); 17 shimada.mathematics = 92; 18 shimada.english = 88; 19 shimada.info_eng = 45; 20 21 av=(shimada.mathematics + shimada.english + shimada.info_eng)/3; 22 23 printf("%s no heikin = %d\n", shimada.name, av); 24 25 26 return 0; 27 }
shimada masaharu no heikin = 75
typedefは構造体のためにあるわけではない.型に別名を付けるためにある.例えば, int型にhogehogeと言う型名を付けることもできる.
typedef int seisu;
seisu i, j;