读书人

求教高手们一个有关问题!

发布时间: 2012-05-21 18:04:41 作者: rapoo

求教高手们一个问题!!!!!!
请问如何定义任意长度结构中的数组???
例如:
#include<stdio.h>
struct Data
{
int X;
char ans;
}*data;

.....
.....
主函数中
data=(Data*)malloc((j)*sizeof(Data));
....
这样为什么不行???

[解决办法]
data是一个指向struct Data的指针。
data=(struct Data *)malloc(sizeof(struct data));

struct Data (*data)[5];这才是一个数组。
[解决办法]
struct Data *data[5];
[解决办法]
Data* data=(Data*)malloc((j)*sizeof(Data));//在主函数中
[解决办法]
data是一个指向struct Data的指针。
data=(struct Data *)calloc(5,sizeof(struct data));
if (NULL!=date) {
for (int i=0;i<5;i++) {
printf("%d X=%d\n",i,data[i].X);
}
}

读书人网 >C语言

热点推荐