C语言语法中的结构体应该是一个比较基础的概念啦,确实应该好好理解:
它其实就是一种 多个数据 组合在一起的形式,之所以叫结构体,就是这种组合关系是固定的(结构化的,在声明中就定义好),
这样作为一个整体传递给其他部分后,别的地方也可以依据结构体声明确定的结构,用特定的语法访问到其中每个变量(数据)。
不知道你所谓的递归调用看不懂具体指什么?因为没有具体的代码信息用于讨论:
但无论何种函数调用,其实都程序调度的一种方式,都有标准的程序,这包括把 一些相关调用的结构体数据信息 入栈的过程,被调用函数返回时会根据这些信息予以 处理(返回数据,继续调用处理后续过程执行 等等)。
递归调用也是类似的,不过调用处理的入口和出口都是调用函数部分自身而已,不过需要注意的时,这里可能因为返回值,或者某个相关变量会发生变化,从而控制调用不会无限制进行(否则会发生溢出、或者无限循环),且最开始的调用会有正确处理结果的返回。