Обьявление переменный типа struct - C (СИ)
Формулировка задачи:
Есть определение структуры Если ли разница при обьявления переменных этой структуры (см. код обьявление 1\2), обязательно ли использование ключевого слова struct при обьявлении переменной типа... Спасибо.
struct Person
struct Person
{
char* name;
};
int main()
{
struct Person p1; <<--- обьявление 1
Person p2; <<--- обьявление 2
return EXIT_SUCCESS;
}Решение задачи: «Обьявление переменный типа struct»
textual
Листинг программы
typedef struct Person {
char *name;
} Person;
Объяснение кода листинга программы
- Объявляется структура
Personс одним полемnameтипаchar *. - Указатель
nameимеет типchar *и может хранить адрес строки символов. - В структуре
Personнет других полей. - При создании экземпляра структуры
Personнеобходимо выделить память под полеname. - Для работы с полем
nameнеобходимо использовать оператор->для доступа к полю структуры. - При использовании структуры
Personнеобходимо следить за тем, чтобы не выйти за пределы выделенной памяти. - Для освобождения памяти необходимо использовать функцию
free.