以上是部分代码,pn是总人数,疑惑的是一个指针不是应该分配一个结构体的大小的空间吗,为什么要分配所有的空间,也就是说为什么乘以pn。
这不是分配一个结构体的大小,这是申请pn个结构体的大小啊。这段代码是给结构体数组分配空间,参数p是这个结构体数组的名称,也是首地址
具体分配几个结构体空间要看你的结构体了。
你的结构体只能表述1个人的姓名和票数。那么有n个人就得乘以n了。
事实上就是动态建立了一个结构体数组。
这段代码,实际上动态生成了一个数组:struct XuanMin p[*pn];// 结构体数组名为 p ,数组大小为 *pn