"void MakeTetris(struct Tetris *);//制作俄罗斯方块",(struct Tetris *)这种形式有没有相关的介绍,没有见过.请问老师,它的作用原理是什么?
我也遇到过和你同样的问题,不过,我是在11章中遇到的一个看不懂的函数和结构体,后来李木子老师给了解释,然后理解了。
首先说你提到的一个函数"void MakeTetris(struct Tetris *);这个定义函数你应该是明了的,那么就说你有疑问的这个(struct Tetris *)这个struct Tetris *是函数void MakeTetris的参数,这个你也应该是明了的吧。那么接下来就是这个struct Tetris *。这里的struct是结构体的格式定义的关键字,定义结构体的时候就必须用到这个关键字,紧接着后面的Tetris是结构体名称。随后的*是同定义指针变量时加的*是一样一样的,结构体还有一个变量,这个变量就是指针变量,而struct Tetris *就是定义这个结构体是一个指针变量。简单讲就是:你定义一个void MakeTetris()函数,函数中的参数是:truct Tetris *结构体,这个结构体是一个指针结构体。关于指针结构体,你可以看一下11章的内容,有关于结构体的详解。不知道我清楚了没有。
18652179116 发表于2020-12-07 14:11
我也遇到过和你同样的问题,不过,我是在11章中遇到的一个看不懂的函数和结构体,后来李木子老师给了解释,然后理解了。
首先说你提到的一个函数"void MakeTetris(struct Tetris *);这个定义函数你应该是明了的,那么就说你有疑问的这个(struct Tetris *)这个struct Tetris *是函数void MakeTetris的参数,这个你也应该是明了的吧。那么接下来就是这个struct Tetris *。这里的struct是结构体的格式定义的关键字,定义结构体的时候就必须用到这个关键字,紧接着后面的Tetris是结构体名称。随后的*是同定义指针变量时加的*是一样一样的,结构体还有一个变量,这个变量就是指针变量,而struct Tetris *就是定义这个结构体是一个指针变量。简单讲就是:你定义一个void MakeTetris()函数,函数中的参数是:truct Tetris *结构体,这个结构体是一个指针结构体。关于指针结构体,你可以看一下11章的内容,有关于结构体的详解。不知道我清楚了没有。
而struct Tetris *就是定义这个结构体是一个指针变量。这句换一下,换成:而struct Tetris *就是定义这个结构体是一个结构体指针。