Программирование на языке высокого уровня. Марапулец Ю.В. - 33 стр.

UptoLike

Составители: 

Другие операции.
42. ? : Если истинно выражение до вопросительного знака, то выполняется 1 элемент,
иначевторой. Пример. Если i меньше 0, то x присвоить значение -i, иначе x=i.
x=(i<0)?-i:i;
43. , Сначала выполняется выражение до запятой, далее - после запятой. Пример.
for (i=x, j=y; i<j;i++,j−−) z[i]=p[j];
44. sizeof Число байт, требуемых для размещения данных. Пример. Присвоить x количе-
ство элементов массива целых чисел array, определяемое как отношение общего чис-
ла байт массива к числу байт, занимаемых одним элементом.
x=sizeof(array)/sizeof(int);
45. (тип) Преобразование в другой тип данных. Пример. Преобразовать целое значение
x в число с плавающей точкой двойной точности перед умножением на 5.
y=(double)x*5;
46. () Вызов функции с аргументами. Пример.
y=sin(x);
Операции выделения и очистки памяти. В синтаксис языка Си не были включе-
ны операции для динамического выделения памяти. Для этой цели использовались
функции библиотеки stdlib –
calloc(), malloc() и realloc() для выделения памяти и free()
для ее освобождения. Для упрощения процесса работы с памятью в язык С++ добавлены
специальные операции для динамического выделения и освобождения памяти.
47. new Выделение динамической памяти.
48. delete Освобождение памяти, ранее выделенной операцией new.
Пример. Пусть
ptr - любой тип, например int. Операция new ptr выдает указатель на
объект типа
ptr или NULL, если память невозможно выделить. В случае успеха выделя-
ется
sizeof(ptr) байт памяти. Операция new, в отличие от malloc, сама вычисляет необ-
ходимое число байт. Операция
delete позволяет освободить ранее выделенную память.
int *ptr;
if (!(ptr=new int)) // запрос памяти
{
printf("Heт памяти в системе\n"); exit(1);
}
delete ptr, // освобождение памяти
Если
ptr - массив, то операция new возвращает указатель на первый элемент мас-
сива. В этом случае операцию
delete обязательно нужно использовать с квадратными
скобками:
delete [] ptr. Когда создается многомерный массив, то все размерности долж-
ны быть известны:
arr_ptr=new int [3] [5] [7]. Возможно использование операции new
совместно с инициализацией [9]:
33
      Другие операции.
42. ? : Если истинно выражение до вопросительного знака, то выполняется 1 элемент,
    иначе – второй. Пример. Если i меньше 0, то x присвоить значение -i, иначе x=i.

   x=(i<0)?-i:i;

43. , Сначала выполняется выражение до запятой, далее - после запятой. Пример.

   for (i=x, j=y; i