Другие операторы в D


Предыдущая страница

В языке D существует ещё несколько важных операторов, включая sizeof и ? :

Оператор Описание Пример
sizeof() Возвращает размер памяти, занимаемый переменной. sizeof(a), где a - целое число типа int, возвращает 4.
& Возвращает адрес переменной. &a; даст фактический адрес переменной a.
* Указатель на переменную. *a; даст указатель на переменную.
? : Условное выражение Если условие истинно, тогда значение X: иначе значение Y.

Пример

Попробуйте следующий пример, чтобы понять эти операторы:

import std.stdio;

int main(string[] args) { 
   int a = 4; 
   short b; 
   double c; 
   int* ptr;

   /* пример оператора sizeof */ 
   writefln("Строка 1 - Размер переменной a = %d", a.sizeof ); 
   writefln("Строка 2 - Размер переменной b = %d", b.sizeof ); 
   writefln("Строка 3 - Размер переменной c= %d", c.sizeof );  
  
   /* пример операторов & and * */ 
   ptr = &a; /* 'ptr' теперь содержит адрес переменной 'a'*/ 
   writefln("Значение a равно %d", a); 
   writefln("*ptr равно %d.", *ptr);  
   
   /* пример оператора условного выражения */ 
   a = 10; 
   b = (a == 1) ? 20: 30; 
   writefln( "Значение b равно %d", b ); 
   
   b = (a == 10) ? 20: 30; 
   writefln( "Значение b равно %d", b ); 
   return 0; 
} 

Когда вы скомпилируете и выполните эту программу, она возвратит следующий результат:

Строка 1 - Размер переменной a = 4
Строка 2 - Размер переменной b = 2
Строка 3 - Размер переменной c= 8
Значение a равно 4
*ptr равно 4.
Значение b равно 30
Значение b равно 20

Предыдущая страница
d_programming_operators.htm