In the following example (from mysql source code), it uses the Field ** field. Itβs hard for me to think that this is like a 2-dimensional field array.
typedef struct st_table_share
{
.......
Field **field;
....
}
for (Field **field=table->field ; *field ; field++)
{
...
Can I think that a table contains many rows and a row contains several columns / fields. So * field means row, and field ** means table?
If true, for the following code
for (Field **field=table->field ; *field ; field++)
it will exit when * the field is zero, and how can * the field be zero if * the field is a string. Or can I say if the row has 5 columns and the field is the first column, then + 4 is the last field of the column, and + 5 is the end of the column, which means null, so the for loop will end?
source
share