構造体を返す関数
明解C言語 入門編 > 12. 構造体 >
構造体を返す関数
C
#include <stdio.h>
#include <string.h>typedef struct
{
char name[20];
int height;
float weight;
} gstudent;gstudent hiroko(char name[], int height, float weight)
{
gstudent tmp;strcpy(tmp.name, name);
tmp.height = height;
tmp.weight = weight;return tmp;
}int main(int argc, char* argv[])
{
gstudent sanaka = {"", 0, 0};printf("氏名:%s\n", sanaka.name);
printf("身長:%d\n", sanaka.height);
printf("体重:%f\n", sanaka.weight);
puts("");sanaka = hiroko("Sanaka", 175, 60.5);
printf("氏名:%s\n", sanaka.name);
printf("身長:%d\n", sanaka.height);
printf("体重:%f\n", sanaka.weight);return 0;
}
実行結果
R:\>lesson095\project1.exe
氏名:
身長:0
体重:0.000000氏名:Sanaka
身長:175
体重:60.500000