1. #include <EtherCard.h> ... 2. byte Ethernet::buffer[BUFFER_LENGTH]; Узнал бы у Гугла, но не знаю как сформулировать вопрос .Объясните - что означает строчка 2 ? Как в СИ называется эта конструкция ? Понятно что это объявление байтового массива. А что означает "::" ? И почему бы этот массив просто не объявить в коде без "кивка " на Эзернет ? С уважением.
:: это оператор уточнения. Бинарный оператор :: уточняет область видимости в которой находится имя. С левой стороны должна быть указана область видимости, с правой стороны - уточняемое имя. В качестве области видимости может быть использовано пространство имен (namespace) или тип.
переменных с именем buffer может быть сколько угодно в проекте, поэтому написано, что конкретно эта относится к пространству имён Ethernet. Если не лень, зачитай что-нибудь за namespace.