home > 写経編 > 柴田望洋『明解C言語 入門編』 > 12. 構造体 >

ForNext

Only Do What Only You Can Do

095. 構造体を返す関数

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

更新日 : 2010.10.08
#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

C++

C++Builder

VC++

C#

Java

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2010.09.24
program Project1;

{$APPTYPE CONSOLE}

uses
    SysUtils;

type
    TStudent = record
        name:   String;
        height: Integer;
        weight: Real;
end;

function hiroko(name:String; height:Integer; weight:Real):TStudent;
begin
    result.name   := name;
    result.height := height;
    result.weight := weight;
end;

procedure main();
var
    sanaka: TStudent;
begin
    Writeln(Format('氏名:%s', [sanaka.name]));
    Writeln(Format('身長:%d', [sanaka.height]));
    Writeln(Format('体重:%f', [sanaka.weight]));
    Writeln('');

    sanaka := hiroko('Sanaka', 175, 60.5);

    Writeln(Format('氏名:%s', [sanaka.name]));
    Writeln(Format('身長:%d', [sanaka.height]));
    Writeln(Format('体重:%f', [sanaka.weight]));
end;

begin
    main;
end.
S:\>lesson095\project1.exe
氏名:
身長:1245120
体重:0.00

氏名:Sanaka
身長:175
体重:60.50

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system