Алгебраический полином.Пробую реализовать через структуру - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не знаю как объявить динамический массив структур.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<locale>

struct polinom 
{
 int stepen; 
 int koifetient[30];
};

void enter(void)    
{   
    int *a;
    int temp;
    printf("Введите наибольшую степень полинома: ");
    scanf("%d",&temp);
    // хочу ту обьявить массив структуры полинома, от temp
}

int main(void)
{
    setlocale(LC_ALL,"Russian");
    enter();

    _getch();
    return 0;
}

Решение задачи: «Алгебраический полином.Пробую реализовать через структуру»

textual
Листинг программы
// выделить память на количество байт, равное размеру структуры * число элементов массива
struct polinom *array = (struct polinom*) malloc( sizeof(struct polinom) * temp);
 
// работать также как и с обычным массивом
array[i].stepen=3;
 
// после использования освободить память
free(array);

Объяснение кода листинга программы

  1. В начале кода выделяется память на количество байт, равное размеру структуры * число элементов массива. Это делается с помощью оператора malloc.
  2. В данном случае структура называется polinom, а переменная, в которой хранится количество элементов массива, называется temp.
  3. Затем, как и обычно, можно работать с элементами массива. В данном случае, устанавливается значение переменной stepen в каждом элементе массива.
  4. В конце кода память освобождается с помощью оператора free. Это важно для предотвращения утечек памяти.

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

13   голосов , оценка 4.077 из 5
Похожие ответы