C里函数声明中使用结构体数组指针怎么写? 10

有结构体如下:typedefstructtagFileList{intfNo;char*fName;intfOffset;intfSize;intfType;}myFil... 有结构体如下:
typedef struct tagFileList
{
int fNo;
char *fName;
int fOffset;
int fSize;
int fType;
} myFileList;
我想在函数里使用结构体数组,如下声明可以吗?:
int FileList::query(int num,myFileList *fl)
{
statement...;
}
类FileList里有私有结构体数组(myFileList *) calloc (i, sizeof(myFileList))
然后在其他函数里调用这个类方法函数的时候不去定义数组了,直接定义一个结构体变量,把序号num变量传递进去以后调用方法,然后类方法返回序号num对应的结构体数组内容
这里具体应该如何实现?
数组操作我想完全用指针来操作,所以使用了calloc,我的结构体数组很大,不想他全部放到栈内存里去,所以用calloc来放到堆内存里,这样应该不会让编译出来的代码太臃肿吧
展开
 我来答
百度网友b24d08f
2013-01-29 · TA获得超过114个赞
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:81.5万
展开全部
typedef struct tagFileList
{
int fNo;
char *fName;
int fOffset;
int fSize;
int fType;
} myFileList;

class FileList{
public:
FileList(int n){
pfile = new myFileList[n];
for(int i = 0; i < n; i ++){
pfile[i].fNo = i;
}
}
~FileList(){delete []pfile; }
public:
int query(int num,myFileList *fl){
*fl = *(pfile + num);
return 0;
}
private:
myFileList *pfile;
};

int main()
{
FileList flist(10);
myFileList fout;
flist.query(3,&fout);
cout<<fout.fNo<<endl;
return 0;
}

请问,是这种感觉么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4c08a42
2013-01-24 · TA获得超过258个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:78.8万
展开全部
num是序号?那么直接fl[num]就是那个数组元素。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式