C++中的结构格式化
Structure formatting in C++
struct list* list_cons(int data_item, struct list* tail);
当我声明这个结构时,"list*" 是什么意思,对于我认为我使用大括号而不是方括号的结构?很抱歉这个问题,我试着用谷歌搜索,但我找不到任何东西。
这是函数 list_const
的函数声明,它接受两个参数,一个整数 data_item
和一个名为 tail
的指针,该指针指向 [=14= 类型的对象].该函数的 return 值再次是指向类型 list
的对象的指针。您也可以将此代码段重写为
struct list; // forward-declare the type
list* list_cons(int data_item, list* tail); // declare function without 'struct' keyword
这看起来像是从良好的旧 C 继承的代码,您必须声明您使用的类型是一个结构,除非它是明确的 typedef'd。
开头的struct list*
是函数list_cons
返回的类型。在 C++ 中,您只需编写 list* list_cons
。这里的两种语法都意味着函数 returns 指向列表结构的指针。
函数中的参数也是如此,第一个参数只是一个int,第二个参数是一个指向列表结构的指针。考虑到变量名为tail,我希望它应该在列表的后面。
如果您没有学习过 C++ 中的指针,那么在理解它之前,您必须先仔细研究一下。
否则 C 中的 struct list*
等同于 C++ 中的 list*
。
函数可以声明为:
return_type func_name(arg1, arg2)
struct list* list_cons(int data_item, struct list* tail);
> return_type ---> struct list*
func_name ----> list_cons
arg1 -----> int data_item
arg2 ---------> struct list* tail
所以基本上,struct list* list_cons(int data_item, struct list* tail);
是一个函数声明,它接受两个参数作为 data_item 和 指向尾部的指针.它returns一个struct list类型的指针。
你正在MERGING列表结构的声明和指向list.This函数的指针的声明采用两个int类型的参数和一个指针键入 list.So 不需要 每个结构都这样声明。
struct list* list_cons(int data_item, struct list* tail);
当我声明这个结构时,"list*" 是什么意思,对于我认为我使用大括号而不是方括号的结构?很抱歉这个问题,我试着用谷歌搜索,但我找不到任何东西。
这是函数 list_const
的函数声明,它接受两个参数,一个整数 data_item
和一个名为 tail
的指针,该指针指向 [=14= 类型的对象].该函数的 return 值再次是指向类型 list
的对象的指针。您也可以将此代码段重写为
struct list; // forward-declare the type
list* list_cons(int data_item, list* tail); // declare function without 'struct' keyword
这看起来像是从良好的旧 C 继承的代码,您必须声明您使用的类型是一个结构,除非它是明确的 typedef'd。
开头的struct list*
是函数list_cons
返回的类型。在 C++ 中,您只需编写 list* list_cons
。这里的两种语法都意味着函数 returns 指向列表结构的指针。
函数中的参数也是如此,第一个参数只是一个int,第二个参数是一个指向列表结构的指针。考虑到变量名为tail,我希望它应该在列表的后面。
如果您没有学习过 C++ 中的指针,那么在理解它之前,您必须先仔细研究一下。
否则 C 中的 struct list*
等同于 C++ 中的 list*
。
函数可以声明为:
return_type func_name(arg1, arg2)
struct list* list_cons(int data_item, struct list* tail);
> return_type ---> struct list*
func_name ----> list_cons
arg1 -----> int data_item
arg2 ---------> struct list* tail
所以基本上,struct list* list_cons(int data_item, struct list* tail);
是一个函数声明,它接受两个参数作为 data_item 和 指向尾部的指针.它returns一个struct list类型的指针。
你正在MERGING列表结构的声明和指向list.This函数的指针的声明采用两个int类型的参数和一个指针键入 list.So 不需要 每个结构都这样声明。