Указатели. Верно ли сделано задание? - C (СИ)
Формулировка задачи:
Дано массив. Определить его размер в байтах, количество элементов.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <malloc.h>
int main()
{
int *arr, N;
printf("N = ");
scanf_s("%d", &N);
arr = (int*)malloc(N * sizeof(int));
srand(time(0));
for (int i = 0; i < N; i++)
{
*arr = rand() % 10;
printf("%d ", *arr);
}
printf("\n%d\n", N*sizeof (*arr));
return 0;
}
Или лучше было бы задать элементы массива?
Или эта моя абракадабра полная чушь?
Помогите, пожайлуйста, пеньку
Решение задачи: «Указатели. Верно ли сделано задание?»
textual
Листинг программы
printf("количество элементов = %d, Размер массива = %d байтов", N, N*sizeof(int));
Объяснение кода листинга программы
В данном коде выполняется следующее:
- Выводится сообщение с двумя значениями:
количество элементовиРазмер массива. - Значение
количество элементовберется из переменной N. - Значение
Размер массивавычисляется как произведение N на размер одного элемента (в байтах). - Для вычисления размера массива используется оператор sizeof, который возвращает количество байтов, занимаемых типом данных int.
- Выводится сообщение с помощью функции printf.