Другие языки программирования и технологии

X+i*a+j и X[i][j]. В чем разница как использовать первый вариант записи.

Я так понял, что это одно и тоже, просто разная запись.
Дело в том, что второй способ более прост в объяснении и в работе. Про первый я так и не понял как его использовать.
Нужно и можно ли манипулировать со знаками внутри этой записи? Вместо I и J в первом варианте могут быть названия других переменных?
Просто разъясните с чем кушать этот вид записи массива
Первый вариант - это т. н. адресная арифметика. Которая, кроме языков семейства С, вроде бы нигде и не используется. Второй вариант действительно проще и удобнее в работе, поэтому его и используют наиболее широко. И еще он создает меньше возможностей для разных ошибок, что тоже немаловажно.

С адресной арифметикой можно делать некоторые "фокусы", которые невозможны с индексной записью. Но, они в обычной практике редко встречаются. Адресная арифметика может быть более производительна. Например, если вы пишите X[i][j], то компьютер каждый раз будет выполнять операцию умножения, для того, чтобы добраться до элемента массива. В адресной арифметике можно на каждом шаге цикла увеличивать адрес, т. е. обойтись более дешевой операцией p++.

Или, можно, например, по необходимости рассматривать двумерный массив как одномерный, это тоже бывает удобно. Разные операции, например вставки и удаления строк и столбцов с помощью адресной арифметики дают существенный выигрыш. Но, опять же, не всегда это надо, это можно обойти другими средствами и это делает код менее понятным.

Со знаками и переменными, конечно можно манипулировать. Это просто по-сути арифметическое выражение. "К адресу начала массива Х прибавить кол-во элементов в i строках и добавить еще j элементов (столбец). Но нужно быть очень осторожным, чтобы не выйти за границы. Ну и там еще куча всяких особенностей, связанных с размером элемента.

Кушать этот вид записи нужно с хорошей теоретической подготовкой по способу представления данных в памяти, понятиям адреса, указателя, ссылки, а так же с знаниями особенностей реализации конкретного языка и компилятора.
ВК
Владимир Козлов
78 844
Лучший ответ
видимо 1-ый вариант матрицу для хранения в векторном виде. но в качестве записи, что в топике не уверен. А- это размер строки.