На 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.

  1. m - это переменная, которая будет содержать указатель на начало выделенного блока памяти.
  2. n - это переменная, которая содержит размер памяти, которую необходимо выделить.
  3. char - это тип данных, который будет использоваться для создания массива.
  4. sizeof - это оператор, который используется для определения размера памяти, которую занимает один элемент массива.
  5. *sizeof(char) - это выражение, которое умножает размер памяти одного элемента на количество элементов, которые необходимо выделить.
  6. malloc - это функция, которая выделяет память под указанный размер.
  7. m - это аргумент функции malloc, который указывает на то, что память должна быть выделена под массив символов.
  8. n*sizeof(char) - это аргумент функции malloc, который определяет размер памяти, которую необходимо выделить.
  9. char - это аргумент функции malloc, который указывает на то, что память должна быть выделена под массив символов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5