暗黙の初期化

明解C言語 入門編 > 6. 関数 >

暗黙の初期化

C


#include <stdio.h>

int fx = 0;

void func(void)
{
static int sx;
int ax;
printf("%3d%3d%3d\n", ax, sx, fx);
}

int main(int argc, char* argv[])
{
func();
}

実行結果


R:\>lesson054\project1.exe
8802932 0 0

Delphi


program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
fx: Integer;

procedure func();
const
// sx: integer; 初期値を指定しなければいけない
sx: Integer = 0;
var
ax: Integer;
begin
writeln(format('%3d%3d%3d', [ax, sx, fx]));
end;

begin
func;
end.

実行結果


S:\>lesson054\project1.exe
2147348480 0 0

Perl
$fx;

sub func
{
    $sx;
    my $ax;
    printf("%3d%3d%3d\n", $ax, $sx, $fx);
}

&func;

実行結果

L:\>perl lesson_06_054.pl
0 0 0