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;