2015-12-21 117 views
-3
struct line { 
    char* string; 
    struct line* next; 
}; 

有人可以请解释发生了什么吗? 例:不知道发生了什么 - C

  • 创建结构 “线”

  • 这种结构具有char变量 “字符串” - >请告诉我与 “*” ??

  • 在这个结构中,我们创建一个叫做“line *”的新函数 - >什么是“*”?

  • 新的结构有一个领域的“下一个”

+3

。 – haccks

+1

退后几步。结构应该放在后面的章节中,而不是任何关于C的书中的指针。 – kay

+0

struct定义了**链接列表**的节点。 '*'表示结构字段是一个指针。所以'char * string;'是指向节点初始化的数据的指针。并且'struct line * next;'指向下一个节点(相同类型),它是到列表中下一条记录的链接。链中的最后一条记录在此字段中将具有“NULL”。 –

回答

1
struct line { // create structure 
char* string; // here * represent pointer and this line creates character pointer named string 
struct line* next; // create pointer to structure named next 
}; 

请参阅本教程 http://www.cprogramming.com/tutorial/c/lesson6.html

这里line是结构。

它里面所创建的指针line和指针的名字是阅读有关指针next

+0

谢谢!但是“int fun(struct line * list){...}” - >表示这个函数需要一个类型行的指针(称为列表)? –

+0

这里'fun'将指针指向结构体(称为列表)作为参数 –

4

基本上,你的结构stringline不是数据项,但指针到实际的数据项都位于内存中的位置。

您可以通过tutorial on pointers in C了解更多。

相关问题