首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环中的双指针

循环中的双指针
EN

Stack Overflow用户
提问于 2011-05-27 15:01:00
回答 4查看 1.5K关注 0票数 3

对于下面的示例(来自mysql源代码),它使用Field **field。我很难把它想成一个二维数组的Field。

代码语言:javascript
运行
复制
typedef struct st_table_share  
{  
  .......  
  Field **field;           
  ....  
}  

for (Field **field=table->field ; *field ; field++)  
{  
    ...  

我可以这样认为吗?一个表包含许多行,而一行包含多个列/字段。那么*field表示一行,**field表示表?

如果这是真的,那么对于以下代码

代码语言:javascript
运行
复制
for (Field **field=table->field ; *field ; field++)

它将在*field为null时退出,那么如果*field是一行,那么*field怎么可能是null。或者我可以说,如果一行有5列,field是第一列,那么field+4是最后一列字段,field+5是列的末尾,这意味着null,所以for循环将退出?

EN

Stack Overflow用户

发布于 2011-05-27 15:18:24

如果一行有5列,

是第一列,那么field+4就是最后一列

是的,但是,你可以这么说

和field+5是列的末尾,这意味着空值

仅当您将数组初始化为null终止时。

如果知道表中有多少列,就可以迭代到最后一列,而不是; *field ;

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6148897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档