На sizeof жалуется - C (СИ)
Формулировка задачи:
Вот кода:
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
char *m;
int i,n=100;
m = (int )malloc(n*malloc(sizeof(char)));
if (m==null)
{
printf("Not enough memory\n");
return 1;
}
for (i=0;i<=n;i++)
{
printf("%c",m[i]);
}
return 0;
}Решение задачи: «На sizeof жалуется»
textual
Листинг программы
m = malloc(n*sizeof(char));
Объяснение кода листинга программы
В данном коде происходит выделение памяти под массив символов с помощью функции malloc.
m- это переменная, которая будет содержать указатель на начало выделенного блока памяти.n- это переменная, которая содержит размер памяти, которую необходимо выделить.char- это тип данных, который будет использоваться для создания массива.sizeof- это оператор, который используется для определения размера памяти, которую занимает один элемент массива.*sizeof(char)- это выражение, которое умножает размер памяти одного элемента на количество элементов, которые необходимо выделить.malloc- это функция, которая выделяет память под указанный размер.m- это аргумент функции malloc, который указывает на то, что память должна быть выделена под массив символов.n*sizeof(char)- это аргумент функции malloc, который определяет размер памяти, которую необходимо выделить.char- это аргумент функции malloc, который указывает на то, что память должна быть выделена под массив символов.