この「C入門」は、GTKのコードを読むための必要最小限な説明をしています。
他の言語などの予備知識は必要としていません。
構造体は、違う型の値を一つにまとめることのできるデータ型です。
#include <stdio.h>
struct Person
{
char *gender;
int age;
float bmi;
};
typedef struct
{
char *type;
float weight;
} animal;
typedef struct
{
char *family;
float height;
} plant;
int main()
{
puts("----------------------------------------");
struct Person hanako;
hanako.gender = "female";
hanako.age = 28;
hanako.bmi = 22.5;
printf("Hanako\t %s\t bmi\t:%4.1f\t age:%d\n", hanako.gender,
hanako.bmi,
hanako.age);
animal pochi;
pochi.type = "dogs";
pochi.weight = 8.1;
printf("Pochi\t %s\t weight\t:%4.1f\n", pochi.type,
pochi.weight);
plant referrer;
plant *cherry = &referrer;
cherry->family = "roses";
cherry->height = 4.5;
printf("Cherry\t %s\t tall\t:%4.1f\n", cherry->family,
cherry->height);
puts("----------------------------------------");
return 0;
}
----------------------------------------
Hanako female bmi :22.5 age:28
Pochi dogs weight : 8.1
Cherry roses tall : 4.5
----------------------------------------
typedef struct
{
・・・
} animal;
typedef キーワードは、
plant referrer;
plant *cherry = &referrer;
構造体のポインターを作るには、まず構造体の変数を作り、その変数のアドレスを
構造体のポインターに入れます。