#include <stdio.h>
#include <stdlib.h>
#include "funcs.h"
void malloc1() {
const int SIZE = 4;
// Allocate memory on the heap
int *a = malloc(SIZE * sizeof(int));
*a = 11;
*(a + 1) = 22;
a[2] = 33;
int *b = a + 3;
*b = 44;
for (int i = 0; i < SIZE; i++)
printf("a[%d] = %d, *(a + i) = %d\n", i, a[i], *(a + i));
for (int i = 0; i < SIZE; i++)
printf("b[%d-3] = %d, *(b-3+i) = %d\n", i, b[i - 3], *(b - 3 + i));
printf("Unexpected sizeof(a) = %ld\n", sizeof(a));
free(a); // Free memory allocated on the heap
}