ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1331501 Топик полностью
VVB (17.07.2023 13:23, просмотров: 133) ответил mse homjak на переменной не присваивается значение при определении. Переменная принимает участие в вычислениях и к ней можэт быть доступ из разных Ц-файлов. Что там присвоит ей компилятор до майн, значения не имеет.
Тут вы не правы. Переменной всегда присваивается значение при "определении". Если значение явно не присвоено, то присваивается "0". 

Кроме того, вы написали не "определение", а "объявление" (extern uint16_t ADCdata;). Это разные вещи.


int x; // это определение; резервируется память для этой переменной; её значение =0 (по-умолчанию)

extern int x; // это объявление; память не резервируется; линкер при сборке узнает, в каком модуле зарезервирована память для этой переменной и подставит нужный адрес везде, где она используется


Вот небольшая статья про эту разницу http://cppstudio.com/post/2647/