パソコンの隣ですぐに読める
書籍版苦C
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
複数の異なる型をまとめて作られた型のこと。
struct student
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
};
作成した構造体それ自体の名前。
型名ではないため、扱い方はすこし異なります。
struct student data;
struct student
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
};
int main(void)
{
struct student data;
return 0;
}
構造体変数名.要素名
この様にして、個々の要素にアクセスできます。
#include <stdio.h>
struct student
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
};
int main(void)
{
struct student data;
data.year = 10; /* year要素にアクセス */
printf("%d\n", data.year);
return 0;
}
#include <stdio.h>
#include <string.h>
struct student
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
};
int main(void)
{
struct student data;
strcpy(data.name, "MARIO");
printf("%s\n", data.name);
return 0;
}
#include <stdio.h>
#include <string.h>
struct student
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
};
int main(void)
{
struct student data1, data2;
/* data1 へ代入 */
data1.year = 3;
data1.clas = 4;
data1.number = 18;
strcpy(data1.name, "MARIO");
data1.stature = 168.2;
data1.weight = 72.4;
data2 = data1; /* data1の内容をdata2へコピー */
/* data1とdata2の内容を表示 */
printf("data1.year = %d : data2.year = %d\n", data1.year, data2.year);
printf("data1.clas = %d : data2.clas = %d\n", data1.clas, data2.clas);
printf("data1.number = %d : data2.number = %d\n", data1.number, data2.number);
printf("data1.name = %s : data2.name = %s\n", data1.name, data2.name);
printf("data1.stature = %f : data2.stature = %f\n", data1.stature, data2.stature);
printf("data1.weight = %f : data2.weight = %f\n", data1.weight, data2.weight);
return 0;
}
typedef 新しい型の形 新しい型名
struct student_tag
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
};
typedef struct student_tag student;
typedef struct student_tag
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
} student;
typedef struct
{
int year; /* 学年 */
int clas; /* クラス */
int number; /* 出席番号 */
char name[64]; /* 名前 */
double stature; /* 身長 */
double weight; /* 体重 */
} student;
苦しんで覚えるC言語(苦C)は
C言語入門サイトの決定版です。
C言語の基本機能を体系立てて解説しており、
市販書籍と同等以上の完成度です。