Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
ob:o7:example:array [2021/11/10 16:57] iadenisov |
ob:o7:example:array [2021/12/01 04:41] amalgama |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Массивы ====== | ====== Массивы ====== | ||
- | Любой [[https:// | + | Любой [[https:// |
< | < | ||
MODULE ExamplesArray1; | MODULE ExamplesArray1; | ||
- | VAR a1: ARRAY 100 OF INTEGER; | + | VAR a1: ARRAY 100 OF INTEGER; |
BEGIN | BEGIN | ||
- | a[0] := 7; | + | a1[0] := 7; |
- | a[1] := LEN(a); | + | a1[1] := LEN(a1); // 4 (1 integer=4 байта) ? |
END ExamplesArray1. | END ExamplesArray1. | ||
</ | </ | ||
+ | Массивы могут иметь несколько измерений. | ||
+ | < | ||
+ | MODULE ExamplesArray2; | ||
+ | |||
+ | VAR a2: ARRAY 100, 50 OF INTEGER; | ||
+ | |||
+ | BEGIN | ||
+ | |||
+ | a2[0, 49] := 7; | ||
+ | a2[1, 45] := LEN(a2[0]); | ||
+ | |||
+ | END ExamplesArray2. | ||
+ | </ | ||
+ | |||
+ | **При объявлении массива нельзя его сразу заполнить данными как в Си.** | ||
+ | Компилятор и система исполнения гарантирует проверку выхода за границы массива. В этом случае микроконтроллер будет перезагружен. Информация об ошибке сохранится и может быть использована для [[ob: |