C言語のポインタorアロー演算子について質問です。
はじめまして。
今回が初質問となります。
お時間がある方はぜひご回答をよろしくお願いいたしますm(_ _)m
C言語を独学で学んでいるため無知なところが多いです...
やさしく、わかりやすく教えて頂ければ幸いです(>_<)
#include<stdio.h>
typedef struct grades {
int number;
char name[20];
double average;
}record;
int main(void) {
int i;
record student1 = {6,"NODA",52.5};
record student2[5] = { {1,"CHIAKI",78.6},{2,"MINE",57.3},{3,"MIKI",66.4},{4,"OKUYAMA",91.4},{5,"SAKU",89.2} };
record *p;
record *s;
p = &student1;
s = &student2[5];
printf("%d %s %5.1f\n\n", p->number, p->name, p->average);
for(i=0; i<5; i++) {
printf("%d %s %5.1f\n", s->number, s->name, s->average);
}
return 0;
}
上記プログラムを実行しますと以下の結果で出力されてしまいます。
6 NODA 52.5
6 NODA 52.5
6 NODA 52.5
6 NODA 52.5
6 NODA 52.5
6 NODA 52.5
ポインタのとこでつまずいている気がするのですが
具体的にどこが悪いのかが分からずに進めずにいます。
(もしポインタでないならすいません...もしかしたらアロー演算子?)
どうか優しい方、ご回答のほどお願いいたします。
補足
すみません。PHPでした。。