Лекция 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;
}