構造体型のポインタ変数
書き方
(*変数名).要素名
変数名->要素名
変数名[0].要素名
実際に使ってみる
#include <stdio.h>
#include <string.h>
typedef struct {
char animal[64];
char name[64];
int old;
int weight;
} animals;
int main(void){
animals data;
animals *p_data;
p_data = &data;
(*p_data).old = 2;
strcpy(p_data->animal, "ねこ");
printf("%d\n", data.old);
printf("%s\n", data.animal);
return 0;
}
勿論引数にも入れられる
#include <stdio.h>
#include <string.h>
typedef struct {
char animal[64];
char name[64];
int old;
int weight;
} animals;
void animals_print(animals *data);
int main(void){
animals data;
strcpy(data.animal,"ねこ");
strcpy(data.name, "きなこ");
data.old = 2;
data.weight = 5;
animals_print(&data);
return 0;
}
void animals_print(animals *data){
data->weight = 6;
printf("種類:%s\n", data->animal);
printf("名前:%s\n", data->name);
printf("年齢:%d歳\n", data->old);
printf("体重:%dkg\n", data->weight);
return;
}