配列で実現する文字列と、ポインタで実現する文字列との、共通点

明解C言語 入門編 > 11. 文字列とポインタ >

配列で実現する文字列と、ポインタで実現する文字列との、共通点

C


#include <stdio.h>

int main(int argc, char* argv[])
{
char str[] = "ABC";
char* ptr = "123";

int i;
for (i = 0; str[i]; i++)
putchar(str[i]);
putchar('\n');

for (i = 0; ptr[i]; i++)
putchar(ptr[i]);
putchar('\n');

printf("str = \"%s\"\n", str);
printf("ptr = \"%s\"\n", ptr);

return 0;
}

実行結果


R:\>lesson081\project1.exe
ABC
123
str = "ABC"
ptr = "123"

Delphi


program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

procedure main();
var
str: String;
ptr: array[0..255] of Char;
i: Integer;
j: PChar;
begin
str := 'ABC';
ptr := '123';

for i := 1 to Length(str) do
write(str[i]);
write(#13#10);

j := @ptr;
while (j^ <> #0) do
begin
write(j^);
Inc(j);
end;
write(#13#10);

Writeln(Format('str = ''%s''', [str]));
Writeln(Format('ptr = ''%s''', [ptr]));
end;

begin
main;
end.

実行結果


S:\>lesson081\project1.exe
ABC
123
str = 'ABC'
ptr = '123'