Ivalue required as left opend of assigment - C (СИ)
Формулировка задачи:
Здравствуйте!
В строке: (temp+i) = NULL;, возникает ошибка: ivalue required as left opend of assigment.
Подскажите, пожалуйста, как её исправить?
spisok *newarr(int size) { spisok *temp; if ((temp=malloc(sizeof(spisok)*size))) { int i=0; while(i < size) (temp+i) = NULL; return temp; } else return NULL; }
Решение задачи: «Ivalue required as left opend of assigment»
textual
Листинг программы
int main() { spisok *head; newarr(&head, 10); (head+1)->data=10; }
Объяснение кода листинга программы
В данном коде выполняются следующие действия:
- Объявляется указатель
head
на вершину списка. - С помощью функции
newarr
выделяется память под список из 10 элементов, и указывается, что первый элемент списка будет хранить указатель на следующий элемент (для удобства работы со списком). - Указатель
head
указывает на первый элемент списка. - Указатель
(head+1)
указывает на второй элемент списка. - Значение
10
присваивается второму элементу списка.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д