使用C动态存储字符串行

Bis*_*Das 5 c string dynamic-data line

我想使用C语言动态存储字符串行.

例如

sadasdasda5245sdf

fadfa6456

fasdf90-70 = 790

这些行的数量和每行的长度可以是任何东西.有什么方法可以动态存储整个事物.

IRB*_*BMe 7

有几种数据结构允许您动态添加项目,而无需事先知道所需的最大元素数量.有链表,二叉搜索树,平衡树,尝试,堆等等.

类似地,有很多方法可以动态分配不同长度的字符串.

最简单的方法可能是使用一个简单的链表:

typedef struct _node {
    struct _node *next;
    char *value;
} node_t;
Run Code Online (Sandbox Code Playgroud)

您可以跟踪头部,列表中的第一个项目,每个下一个字段指向列表中的下一个节点.例如,要遍历列表,您可以编写如下内容:

currentNode = head;
while(currentNode != NULL) {
    /* do something with currentNode->value */
    currentNode = currentNode->next;
}
Run Code Online (Sandbox Code Playgroud)

不知道你想做什么,具体来说,我无法提供更好的建议.

您希望经常对数据结构执行哪些操作?你是否只是简单地遍历字符串,搜索字符串,添加和删除字符串?