В чём разница?

Тема в разделе "Arduino & Shields", создана пользователем uPlane, 31 июл 2015.

  1. uPlane

    uPlane Нуб

    Не могу никак понять, в чём отличие в объявлении переменной с уже заданным начальным параметром, от объявления номера порта, с которого мы собираемся считывать данные?
    К примеру, есть такой фрагмент кода:

    Код (Text):

    int analogPin = 3;    // номер порта к которому подключен потенциометр
    int val = 0;               // переменная для хранения считываемого значения
     
    На мой взгляд, вполне допустимо комменты переставить местами, т.е. сделать так:
    Код (Text):

    int analogPin = 3;    // переменная для хранения считываемого значения
    int val = 0;                // номер порта к которому подключен потенциометр
     
    Может быть, разница лишь в том, как я буду в дальнейшем использовать в коде переменные val и analogPin?
    Помогите, пожалуйста, разобраться с этим!
     
  2. geher

    geher Гуру

    И то, и другое - простые переменные типа int, проинициализированные некоторыми значениями.
    Разница только во вкладываемом в данные переменные разработчиком программы смысле, что и будет в теории проявляться в дальнейшем использовании (что желательно отразить в наименовании переменной).
    И присвоенное переменной значение тоже, скорее всего, будет иметь в программе какой-то смысл.
    А простая перестановка комментариев у переменных ничего не меняет. Это всего лишь пояснения, чтобы потом было проще понять, что за переменные и как они в программе используются, не ползая по остальной части программы.

    Конечно, никто не сможет запретить в программе использовать переменную не по назначению, но это уже отдельная история.
     
  3. uPlane

    uPlane Нуб

    Спасибо за ответ! Переставив комментарии я лишь показал, что не вижу разницы между этими двумя строками.
    Если разница лишь в дальнейшем использовании, могу я вместо:
    Код (Text):
    int val1, val2, val3 =0;
    int analogVal =0;
    писать:
    Код (Text):
    int val1, val2, val3, analogVal  =0;
    Эти два варианта равнозначны?
     
  4. geher

    geher Гуру

    Равнозначны с точностью до степени читаемости кода.
    В смысле с точки зрения компилятора они совершенно идентичны.
    Но вроде как не рекомендуется объединять в одну строку объявления переменных разного назначения. При последующем прочтении программы будет сложнее их разграничить и понять назначение каждой их переменных и смысловые различия.
     
    uPlane нравится это.
  5. uPlane

    uPlane Нуб

    Спасибо, всё понятно!