Спасибо за ответ. Приведенные ссылки очень полезны. Изучаю.
Сергей Деменков пишет:...я вобще HyperTerminal стандартный виндовый пользую - интерактива больше
мне как раз встроенный нравится по причине его автоматического закрытия при заливке прошивки и минимума интерактива :-)
Также использую внешний редактор (FAR-editor+colorer)в основном из-за того что ArduinoIDE игнорирует сочетания клавиш "Ctrl+Ins" "Shift+Ins", а переучиваться некогда.
Мне кажется маловероятным, что UTF-8 на что-то может повлиять. Это же все-равно потом обычным
gcc компилируется, а ему должно быть абсолютно фиолетово, какие там символы идут после //
Мне также это казалось маловероятным, но реальности оказалась интереснее. Была ситуация когда удалось заставить работать один из файлов проекта лишь после тотальной зачистки всех русских комментариев. Возможно это издержки перекодировок Win-Dos-UTF8. Не зря же IDE 0017-0018 выводит предупреждение при компиляции о наличии символов в иной кодировке.
Си там самый что ни на есть "общий", если так можно выразиться.
Я не понял что имеется в виду под "изрезанным". Давай пример кода, и чего хотим получить - будем думать.
Насколько я понял он скорее "базовый", т.е. определенная специфика присутствует - многие навороты из актуальной документации по С и С++ для нашего Си невозможны: структуры struct Point {double x; double y;}; конструкторы int[] d= new int[5]; и т.д.
"Изрезанный массив"=Jagged Arrays="массив массивов" - это массив, элементы которого сами являются массивами.
Однако создать такой пока не получилось. Компилятор категорически не согласен как с предлагаемыми вариантами запихивания ссылки при конструировании структуры, так и с вариантами чтения.
Например, хочу сделать как-то так:
int a1[] = {1,2,3};
long a2[] = {4,5,6};
int* lnk_a1 = a1;
long* lnk_a2 = a2;
int* b;
b=(int*) malloc(3);
b = lnk_a1;
*b + 1 = lnk_a2; // b[1] ... также не катит
Serial.println(b[0][0],DEC);