ForNext
Only Do What Only You Can Do
078. 配列とポインタ
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
F#
C
更新日 : 2010.10.08
#include <stdio.h> int main(int argc, char* argv[]) { int i; int vc[] = {10, 20, 30, 40, 50}; int* ptr = &vc[0]; for (i = 0; i < 5; i++) { printf("vc[%d] = %d " , i, vc[i]); printf("ptr[%d] = %d " , i, ptr[i]); printf("*(ptr + %d) = %d\n", i, *(ptr + i)); } puts(""); ptr = vc; for (i = 0; i < 5; i++) { printf("vc[%d] = %d " , i, vc[i]); printf("ptr[%d] = %d " , i, ptr[i]); printf("*(ptr + %d) = %d\n", i, *(ptr + i)); } return 0; }
R:\>lesson078\Project1.exe vc[0] = 10 ptr[0] = 10 *(ptr + 0) = 10 vc[1] = 20 ptr[1] = 20 *(ptr + 1) = 20 vc[2] = 30 ptr[2] = 30 *(ptr + 2) = 30 vc[3] = 40 ptr[3] = 40 *(ptr + 3) = 40 vc[4] = 50 ptr[4] = 50 *(ptr + 4) = 50 vc[0] = 10 ptr[0] = 10 *(ptr + 0) = 10 vc[1] = 20 ptr[1] = 20 *(ptr + 1) = 20 vc[2] = 30 ptr[2] = 30 *(ptr + 2) = 30 vc[3] = 40 ptr[3] = 40 *(ptr + 3) = 40 vc[4] = 50 ptr[4] = 50 *(ptr + 4) = 50
C++
C++Builder
VC++
C#
Java
Objective-C
D
VB
VB.NET
Delphi
更新日 : 2010.09.24
program Project1; {$APPTYPE CONSOLE} uses SysUtils; procedure main(); var i: Integer; vc: array[1..5] of Integer; ptr: ^Integer; begin vc[1] := 10; vc[2] := 20; vc[3] := 30; vc[4] := 40; vc[5] := 50; ptr := @vc[1]; for i := Low(vc) to High(vc) do begin write(Format('vc[%d] = %d ' , [i, vc[i]])); Writeln(Format('*(ptr + %d) = %d', [i, ptr^])); Inc(ptr); end; // ptr := vc; これは、エラー end; begin main; end.
S:\>lesson078\Project1.exe vc[1] = 10 *(ptr + 1) = 10 vc[2] = 20 *(ptr + 2) = 20 vc[3] = 30 *(ptr + 3) = 30 vc[4] = 40 *(ptr + 4) = 40 vc[5] = 50 *(ptr + 5) = 50