構造体の基本
#include <stdio.h>
struct HITO{
char *name;
int age;
};
main() {
struct HITO x,y;
x.name = "大島裕子";
x.age = 17;
y.name = "蒼井優子";
y.age = 25;
printf("名前\t\t年齢\n");
printf("%s\t%d\n" , x.name , x.age);
printf("%s\t%d\n" , y.name , y.age);
}
構造体の配列
#include <stdio.h>
struct HITO{
char *name;
int age;
};
main() {
int i;
struct HITO x[2];
x[0].name = "大島裕子";
x[0].age = 17;
x[1].name = "蒼井優子";
x[1].age = 25;
printf("名前\t\t年齢\n");
for(i=0;i<=1;i++){
printf("%s\t%d\n" , x[i].name , x[i].age);
}
}
構造体の代入
#include <stdio.h>
struct HITO{
char *name;
int age;
};
main() {
int i;
struct HITO x,y;
x.name = "大島裕子";
x.age = 17;
printf("名前\t\t年齢\n");
y = x;//構造体の代入
printf("%s\t%d\t%p\n" , x.name , x.age, x.name);
printf("%s\t%d\t%p\n" , y.name , y.age, y.name);
y.name = "蒼井優子";
y.age = 25;
printf("%s\t%d\t%p\n" , x.name , x.age, x.name);
printf("%s\t%d\t%p\n" , y.name , y.age, yesktop}
構造体のポインタ
#include <stdio.h>
struct HITO{
char *name;
int age;
};
main() {
int i;
struct HITO x;
struct HITO *y;
x.name = "大島裕子";
x.age = 17;
printf("名前\t\t年齢\n");
y = &x;
printf("%s\t%d\n" , y->name , y->age);
y->name = "蒼井優子";
y->age = 25;
printf("%s\t%d\n" , x.name , x.age);
printf("%s\t%d\n" , y->name , y->age);
}
構造体配列とポインタ
#include <stdio.h>
struct HITO{
char *name;
int age;
};
main() {
int i;
struct HITO x[2];
struct HITO *y;
x[0].name = "大島裕子";
x[0].age = 17;
x[1].name = "蒼井優子";
x[1].age = 25;
y = x;
printf("名前\t\t年齢\n");
printf("%s\t%d\n" , y->name , y->age);
printf("%p\n", y );
y = y + 1;
printf("%s\t%d\n" , y->name , y->age);
printf("%p\n", y );
}
演習
-
構造体のポインタ変数を用いて、3人の年齢をすべて20にする。
#include <stdio.h>
struct HITO{
char *name;
int age;
};
main() {
int i;
struct HITO x[3];
struct HITO *y;
x[0].name = "大島裕子";
x[0].age = 17;
x[1].name = "蒼井優子";
x[1].age = 25;
x[2].name = "長澤まさみ";
x[2].age = 27;
最終更新:2012年05月30日 11:21