В языке 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