#include #include int main(void){ int N = 10, sElem = sizeof(int); // N - количество элементов в массиве; //sElem - размер целочисленного типа int равный 4 байтам; int * mas = (int *)malloc(N * sElem); //int * mas - указатель на первый элемент в массиве mas; //malloc(N * sElem) - выделение памяти под массив размером N * sElem байт; //Выделенная память являестся цельным куском в памяти, где элементы массива находятся друг за другом; for (int i = 0; i < N; i++) { *(mas + (i * sElem)) = i; //сдвигаем указатель на определенное количество байт эквивалентное элнментам массива //*(mas + (0 * 4)) = 0 - эквивалентно mas[0] = 0 //*(mas + (1 * 4)) = 1 - эквивалентно mas[1] = 1 // |4 байта|4 байта|4 байта|4 байта|4 байта|4 байта|4 байта|4 байта|.... // |1 элем |2 элем |3 элем |4 элем |5 элем |6 элем |7 элем |8 элем |.... } printf("Even:\t"); for (int i = 0; i < N; i+=2) { printf("%d\t", *(mas + (i * sElem))); } printf("\nОdd:\t"); for (int i = 1; i < N; i+=2) { printf("%d\t", *(mas + (i * sElem))); } free(mas); return 0; }