C - довольно статичный язык.Под статическим я имею в виду, что вы можете создавать память во время выполнения, но вам понадобятся указатели для адресации памяти, объявленной во время компиляции.То есть, если вам понадобится память во время выполнения и вы не хотите объявлять ее во время компиляции, вам нужно будет использовать malloc и free (когда вы закончили с памятью).
Чтобы создать глобальную структуру, память которой вы будете создавать во время выполнения, вам будет минимально необходим указатель на структуру во время компиляции.Если вам нужно несколько таких структур, вы можете создать память для нескольких структур, но обход этих структур будет утомительным без наличия массива этих структур.Вам понадобится этот массив указателей на структуры во время компиляции.Есть несколько способов сделать это более динамичным, но примерно через десятилетие я использовал C и C ++, мы никогда не сталкивались с этими другими способами, в том числе с драйверами устройств.не иметь никаких объектов, которые вы можете создать, кроме тех, которые созданы путем вызова функции из библиотеки или создания памяти из кучи, а затем интерпретировать эту память путем наложения на нее структуры или указателей массива.параметры передаются по ссылке (указатель на параметр), и функции могут ничего не возвращать или возвращать один атом данных, символ, целое число, smallint или указатель.