#include
#include
#include
typedef struct
{
int a;
int b;
} DOUBLE_INT, *Double_int;
Double_int a[4];
int main()
{
int i;
for ( i=0; i < 4; i++)
{
a[i]->a = (i+1);
a[i]->b = (i+1)<<1;
}
for ( i=0; i < 4; i++)
{
if (a[i]-> a & 1)
printf("a is Odd : a.a = %d a.b = %d\n",a[i]->a,a[i]->b);
else
printf("a is even: a.a = %d a.b = %d\n",a[i]->a,a[i]->b);
}
return 0;
}
for ( i=0; i < 4; i++)
{
a[i]->a = (i+1);
a[i]->b = (i+1)<<1;
}这里面 a[i]没有分配内存。
for ( i=0; i < 4; i++)
{
a[i] = new DOUBLE_INT();
a[i]->a = (i+1);
a[i]->b = (i+1)<<1;
}