如何动态用malloc申请结构体数组,并且能用下标访问

typedef struct
{
int GearBox; //档位
double speed; //速度
double parkingBrake; //手刹
double RightToRoad; //与路右侧距离,在路内<0
}subjectTwo;

subjectTwo *p = (subjectTwo*)malloc(1000*sizeof(subjectTwo));
这样定义没办法用数组的下标访问呀,请高人指点

能给出具体办法最好了。。。

第1个回答  2011-03-22
额,下标访问结构体成员?真人才也;
如果你定义的是:subjectTwo p;用'.'运算符访问其成员,如:p.GearBox
如果你定义的是:subjectTwo *p;用->访问其成员;如:p->GearBox
如果你定义的是:char *p = "hello world !"则可用下标访问单个字符,但是不允许修改
如果你定义的是:char str[] = "hello world !";char *p = str;也可用下标访问单个字符,且允许修改
如果你定义的是:char p[] = "hello world !"; 则可用下标访问其单个字符,允许修改

=========
回答完毕
第2个回答  2011-03-22
定义数组结构体数组的时候就分配了内存空间
所以定义成数组的时候就不能再malloc了
两者取其一
第3个回答  2011-03-22
数组的话subjectTwo a[1000],就可以啊
如果非要用动态申请不妨在结构体力定义一个 subjectTwo* pNext,用链表。。。本回答被提问者采纳
相似回答