解释用于令牌化程序的C代码字符串

第二

我是C语言的新手,我有一个代码,但我不理解其中的一部分。

typedef struct
{
    size_t count;
    char** strings;
} Tokens;

Tokens Tokenize(char* String, char Split)
{
    Tokens t;
    t.count = 1;

    for (size_t i = 0; String[i] != 0; i++)
    {
        if (String[i] == Split)
            t.count++;
    }

    t.strings =(char**) malloc(sizeof(char*)* t.count);

    if (t.count > 0)
        t.strings[0] = String;

    for (size_t i = 0, j = 1; String[i] != 0; i++)
    {
        if (String[i] == Split)
        {
            t.strings[j] = &String[i + 1];
            String[i] = 0;
            j++;
            i++;
        }
    }
    return t;
}

我不了解的部分是指针char的指针如何标记字符串部分,尤其是那行t.strings [j] =&String [i + 1];

如果有人可以对过程进行可视化,我将不胜感激。谢谢

Donjuedo

特别是那一行t.strings [j] =&String [i + 1];

在该行中,找到String[i]了定界符char(Split),String[i + 1]下一个标记字符串的开头的char也是如此地址即炭(的&String[i + 1]),那么,是下一个标记字符串的字符串指针/地址。

t.strings[]只是在中找到的字符串指针的集合(数组)String

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在beanshell中评估代码字符串,并获取由beanshell解释器返回的值

来自分类Dev

评估beanshell中的代码字符串,并获取由beanshell解释器返回的值

来自分类Dev

改善代码字符串处理

来自分类Dev

可以将代码字符串传递到C \ C ++-macro吗?

来自分类Dev

C#mutiline代码字符串插值不起作用

来自分类Dev

C ++令牌化字符串-不起作用

来自分类Dev

如何正确分割代码字符串

来自分类Dev

用PHP提取HTML代码字符串

来自分类Dev

Javascript从短代码字符串中提取属性

来自分类Dev

如何简化PyJulia的可执行代码字符串

来自分类Dev

用PHP提取HTML代码字符串

来自分类Dev

如何正确分割代码字符串

来自分类Dev

通过createTextNode()创建的缩进代码字符串?

来自分类Dev

源代码字符串不能包含空字节

来自分类Dev

解释用于从字符串中删除html代码的正则表达式

来自分类Dev

C#如何编码字符串以最小化字节

来自分类Dev

Grails 2.3.8国际化编码字符串

来自分类Dev

C++ 中用于并行化的字符串数组

来自分类Dev

在Qt C ++中替换编码字符串的“ =“

来自分类Dev

解释这个用于与 strcmp() 进行字符串比较的 C 宏

来自分类Dev

用于字符串比较的代码优化

来自分类Dev

错误:带有索引或迭代字符串的'<'令牌之前的预期初始化程序

来自分类Dev

谁能解释在c中置换字符串时此代码的工作?

来自分类Dev

substringWithRange适用于硬编码字符串,但不适用于用户输入的字符串

来自分类Dev

substringWithRange适用于硬编码字符串,但不适用于用户输入的字符串

来自分类Dev

在C中解析令牌字符串

来自分类Dev

C预处理程序字符串化(再次)

来自分类Dev

C# - 解码字符串不会返回原始编码的字符串

来自分类Dev

用于将整数映射到令牌字符串的宏

Related 相关文章

  1. 1

    在beanshell中评估代码字符串,并获取由beanshell解释器返回的值

  2. 2

    评估beanshell中的代码字符串,并获取由beanshell解释器返回的值

  3. 3

    改善代码字符串处理

  4. 4

    可以将代码字符串传递到C \ C ++-macro吗?

  5. 5

    C#mutiline代码字符串插值不起作用

  6. 6

    C ++令牌化字符串-不起作用

  7. 7

    如何正确分割代码字符串

  8. 8

    用PHP提取HTML代码字符串

  9. 9

    Javascript从短代码字符串中提取属性

  10. 10

    如何简化PyJulia的可执行代码字符串

  11. 11

    用PHP提取HTML代码字符串

  12. 12

    如何正确分割代码字符串

  13. 13

    通过createTextNode()创建的缩进代码字符串?

  14. 14

    源代码字符串不能包含空字节

  15. 15

    解释用于从字符串中删除html代码的正则表达式

  16. 16

    C#如何编码字符串以最小化字节

  17. 17

    Grails 2.3.8国际化编码字符串

  18. 18

    C++ 中用于并行化的字符串数组

  19. 19

    在Qt C ++中替换编码字符串的“ =“

  20. 20

    解释这个用于与 strcmp() 进行字符串比较的 C 宏

  21. 21

    用于字符串比较的代码优化

  22. 22

    错误:带有索引或迭代字符串的'<'令牌之前的预期初始化程序

  23. 23

    谁能解释在c中置换字符串时此代码的工作?

  24. 24

    substringWithRange适用于硬编码字符串,但不适用于用户输入的字符串

  25. 25

    substringWithRange适用于硬编码字符串,但不适用于用户输入的字符串

  26. 26

    在C中解析令牌字符串

  27. 27

    C预处理程序字符串化(再次)

  28. 28

    C# - 解码字符串不会返回原始编码的字符串

  29. 29

    用于将整数映射到令牌字符串的宏

热门标签

归档