typedef struct Carta* BAR_tppCarta
BAR_tppCarta * BAR_CriarBaralho()
{
int i;
int j;
int k=0;
BAR_tppCarta *baralho;
baralho = (BAR_tppCarta *) malloc(NUM_CARTAS*sizeof(BAR_tppCarta));
if(!baralho)
return NULL;
for(i=COPAS;i<=ESPADA;i++)
for(j=AS;j<=KING;j++)
{
baralho[k]->naipe = i;
baralho[k]->valor = j;
k++;
}
return baralho;
}
当我打电话另一个模块这一功能,使用这个C函数有什么问题?
BAR_tppCarta *baralho = BAR_CriarBaralho();
窗户停止工作,就像一个调试错误。 任何人都可以帮助我吗?
非常感谢! Alessandro
COPAS,ESPADAS,AS,KING和NUM_CARTAS是表中定义的常数.inc COPAS = 14; ESPADAS = 17; AS = 0; KING = 13; NUM_CARTAS = 52 –
请在您的问题(或答案)中使用编辑功能添加附件? –
我认为AS必须是1.否则你的循环溢出,因为(0..14)实际上是15次重复。 – user1952500