Вопрос. синтаксис си.

Тема в разделе "Arduino & Shields", создана пользователем Ariadna-on-Line, 15 июл 2020.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    1. #include <EtherCard.h>
    ...
    2. byte Ethernet::buffer[BUFFER_LENGTH];

    Узнал бы у Гугла, но не знаю как сформулировать вопрос .Объясните - что означает строчка 2 ? Как в СИ называется эта конструкция ?
    Понятно что это объявление байтового массива. А что означает "::" ? И почему бы этот массив просто не объявить в коде без "кивка " на Эзернет ? С уважением.
     
    Последнее редактирование: 15 июл 2020
  2. DetSimen

    DetSimen Гуру

    :: это оператор уточнения. :)

    Бинарный оператор :: уточняет область видимости в которой находится имя.
    С левой стороны должна быть указана область видимости, с правой стороны - уточняемое имя.
    В качестве области видимости может быть использовано пространство имен (namespace) или тип.
     
    Andrey12 и Ariadna-on-Line нравится это.
  3. DetSimen

    DetSimen Гуру

    переменных с именем buffer может быть сколько угодно в проекте, поэтому написано, что конкретно эта относится к пространству имён Ethernet.
    Если не лень, зачитай что-нибудь за namespace.
     
    Andrey12 и Ariadna-on-Line нравится это.