В следующем примере (из исходного кода mysql) используется поле Field **.У меня проблемы с тем, чтобы представить его в виде двухмерного массива поля.
typedef struct st_table_share
{
.......
Field **field;
....
}
for (Field **field=table->field ; *field ; field++)
{
...
Можно ли так думать, таблица содержит много строк, а строка содержит несколько столбцов / полей.Итак, * поле означает строку, а ** поле означает таблицу?
Если это так, для следующего кода
for (Field **field=table->field ; *field ; field++)
он завершится, когда * field равно null, так как же * field может быть null, если * field - строка.Или я могу сказать, что если в строке 5 столбцов, а поле - это первый столбец, то поле + 4 - это поле последнего столбца, а поле + 5 - это конец столбца, что означает ноль, так что цикл for завершится?