В предыдущей статье я познакомил вас с тернарным оператором.Так же у вас было задание вернуть тернарный оператор из функции,давайте разберём как это можно сделать.
char *isEqual(int a,int b)
{
return (a==b)?"Equal!":"Not equal!";
}
Всё просто,после сравнения тернарный оператор вернёт один из вариантов в зависимости от условия.
Думаю для вас не станет открытием,что в си отсутствует ООП.То есть нет классов,объектов и других "штучек",позволяющих работать с объектами.Но это всё не значит что нельзя объединять данные в структуры.Что это такое и для чего это нужно мы сейчас разберём.
Аллегорией для структуры может выступить аптечка.В ней лежат различные вещи,причём не одного типа,и всё же они объедены.Было бы удобно,скажем хранить описание оружия из игры в одном месте или же машины.Вот как это можно сделать:
Сначала пишем слово struct,после имя структуры,открываем фигурные скобки,в них создаём интересующие нас типы данных,так как это операция создания-сие действие должно заканчиваться точкой с запятой.
struct NameStruct
{
int firstType;
char *secondType;
};
Ничего сложного,отличие от создания переменных лишь в том,что в самой структуре нельзя сразу задавать данные:
struct NameStruct
{
int a=10;//ошибка
}
После создания со структурой можно работать через оператор "точка"('.').Но перед этим структуру надо ещё объявить:
int main()
{
//слово struct,имя структуры,наше имя
struct NameStruct a;
//наше имя,точка,переменная структуры
a.secondType="Hello";
}
На этом мы пока наше знакомство со структурами остановим.В следующих уроках я научу вас как с помощью структуры сэкономить память,так же узнаете как создать структуру так,чтобы при её инициализации не нужно было писать слово "struct".
Домашнее задание:создать структуру с данными ваших коллег по работе,одноклассников или сокурсников.Обычно используют имя,пол,возраст и т.д.
С вами был D21nkMaster.Всего доброго!