Указатели на поля структуры - C (СИ)
Формулировка задачи:
Здравствуйте, никак не могу понять, для чего нужны и как правильно использовать указатели на поля структуры. Например
Объясните, пожалуйста, для чего они нужны?
struct POI{
char * name;
char * description;
};Решение задачи: «Указатели на поля структуры»
textual
Листинг программы
// cлучай 2
struct POI{
char * name;
char * description;
};
Объяснение кода листинга программы
В представленном коде определен структурный тип данных POI с двумя полями: name и description.
nameиdescription- это указатели на строки символов, которые представляют собой имена и описания мест соответственно.POI- это структура данных, которая содержит в себе два указателя на строки символовnameиdescription.p- это указатель на структуруPOI.p->nameиp->description- это указатели на поляnameиdescriptionструктурыPOI, на которую указывает указательp.p->name = malloc(10);иp->description = malloc(20);- это операции выделения памяти под поляnameиdescriptionструктурыPOIсоответственно.strcpy(p->name, 'Название');иstrcpy(p->description, 'Описание');- это операции копирования строк символов в поляnameиdescriptionструктурыPOIсоответственно.free(p->name);иfree(p->description);- это операции освобождения памяти, выделенной под поляnameиdescriptionструктурыPOIсоответственно.