Алгебраический полином.Пробую реализовать через структуру - 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);
Объяснение кода листинга программы
- В начале кода выделяется память на количество байт, равное размеру структуры * число элементов массива. Это делается с помощью оператора malloc.
- В данном случае структура называется
polinom
, а переменная, в которой хранится количество элементов массива, называетсяtemp
. - Затем, как и обычно, можно работать с элементами массива. В данном случае, устанавливается значение переменной
stepen
в каждом элементе массива. - В конце кода память освобождается с помощью оператора free. Это важно для предотвращения утечек памяти.