В функцию информация о структуре может передаваться как по значению, так и по ссылке. В первом случае в функцию передается копия структуры, что может снизить эффективность программы. При передаче по ссылке копирование не выполняется, однако функция получает доступ к элементам структуры и может их изменять. Можно также использовать указатели на структуру. Структуры и битовые поля. В языке С++ имеется возможность доступа к отдельным разрядам в более крупном типе данных, например в байте. Это полезно, например, для изменения масок, установки флагов и т.д. В этом случае описание структуры выглядит следующим образом:
struct имя_типа
{
тип_элемента1
имя_поля1:колич_бит1,
имя_поля2:колич_бит2,
имя_поля3:колич_бит3,
…;
тип_элемента2
…
};