ポインタ

pointer.d

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import std.stdio;

void main(){

  int x = 100;
  int *prev, next;
/*
  C と若干違う, C の場合は prev はポインタで, next は普通の int 型変数.
  D の場合は, prev は ポインタで, next もポインタで.
*/
  prev = &x;
  next = prev;

  int* a = &x;
/* int *a = &x でも大丈夫 */  
  int* b = a;
  printf("%d %d\n", *a, *b);

  int* c = &x, d;
  d = c;
  printf("%d %d\n", *c, *d);

  printf("%d\n", *prev);
  printf("%p\n", next);
/*
  C 言語と違って a, b, c, d は全て int* 型.
  前置宣言形式 (int* symbol, symbol;) では symbol はすべて int* 型.
*/
}

pointer.d の実行結果は:

[cactus:~/code_d/d_tuts]% ./pointer
100 100
100 100
100
0xbffff394

Previous topic

数値型

Next topic

モジュール