Лекция 12 - Динамична памет/Побитови маски

A и Б клас Линк към презентацията за динамична памет

В и Г клас Линк към презентацията за побитови маски

Задачи от час А и Б

#include <stdio.h>
#include <string.h>

int main ()
{
  int a[10];

  memset (&a, 0, sizeof (int) * 10);

  for (int i = 0; i < 10; ++i)
    {
      printf ("%d, ", a[i]);
    }
  printf ("\n");

  return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main ()
{
  int *a = (int*)(malloc (1024));

  free (a);
  a = NULL;
  free (a);

  printf ("Test\n");

  return 0;
}

Задачи от час В и Г

#include <stdio.h>

int is_power_of_two (int n)
{
  int count = 0;

  for (int i = 0; i < sizeof (int) * 8; ++i)
    {
      if (n & (1 << i))
        {
          ++count;
        }
    }
  return count == 1;
}

int main ()
{
  int n = 4;

  printf ("%d\n", is_power_of_two (n));
  printf ("%d\n", is_power_of_two (1));
  printf ("%d\n", is_power_of_two (5));
  printf ("%d\n", is_power_of_two (10));

  return 0;
}

Категории:

Обновена: