home > 写経編 > 柴田望洋『明解C言語 入門編』 > 10. ポインタ >

ForNext

Only Do What Only You Can Do

079. 配列の受け渡し

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

更新日 : 2010.10.08
#include <stdio.h>

#define NINSU 5

void int_set(int* vc, int no)
{
    int i;
    for (i = 0; i < no; i++)
        vc[i] = i;
}

int main(int argc, char* argv[])
{
    int i = NINSU;
    int j;
    int ary[NINSU] = {0};

    printf("関数 呼び出し前\n");
    for (j = 0; j < NINSU; j++)
        printf("  ary[%d] = %d\n", j, ary[j]);

    int_set(ary, i);

    printf("関数 呼び出し後\n");
    for (j = 0; j < NINSU; j++)
        printf("  ary[%d] = %d\n", j, ary[j]);

    return 0;
}
R:\>lesson079\Project1.exe
関数 呼び出し前
  ary[0] = 0
  ary[1] = 0
  ary[2] = 0
  ary[3] = 0
  ary[4] = 0
関数 呼び出し後
  ary[0] = 0
  ary[1] = 1
  ary[2] = 2
  ary[3] = 3
  ary[4] = 4

C++

C++Builder

VC++

C#

Java

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2010.09.24
program Project1;

{$APPTYPE CONSOLE}

uses
    SysUtils;

procedure int_set(vc:PInteger; min: Integer; max: Integer);
var
    i: Integer;
begin
    for i := min to max do
    begin
        vc^ := i;
        Inc(vc);
    end;
end;

const
    NINSU = 5;
var
    i: Integer = NINSU;
    j: Integer;
    ary: array[1..NINSU] of Integer = (0, 0, 0, 0, 0);
begin
    Writeln('関数 呼び出し前');
    for j := 1 to NINSU do
        Writeln(Format('  ary[%d] = %d', [j, ary[j]]));

    int_set(@ary, Low(ary), High(ary));

    Writeln('関数 呼び出し後');
    for j := 1 to NINSU do
        Writeln(Format('  ary[%d] = %d', [j, ary[j]]));
end.
S:\>lesson079\Project1.exe
関数 呼び出し前
  ary[1] = 0
  ary[2] = 0
  ary[3] = 0
  ary[4] = 0
  ary[5] = 0
関数 呼び出し後 
  ary[1] = 1
  ary[2] = 2
  ary[3] = 3
  ary[4] = 4
  ary[5] = 5

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system