【发布时间】:2018-11-03 12:11:29
【问题描述】:
我不知道我的标题是否真的很清楚(我真的不知道如何命名)但没关系。我有一个函数,参数中有一个子结构。我在 main 中使用了 struct,但在函数中没有使用,因为该函数内部的无用数据。我的程序是这样的:
typedef struct vidinfo_s {
vidframe_s sVid;
int id;
[...]
};
typedef struct vidframe_s {
int phyAddr[3];
char *virAddr[3];
[...]
};
int function (vidframe_s *pVid)
我的问题是:我需要调用像 int callVidInfo(vidinfo_s *pVid) 这样的函数,但我真的不知道如何使用子结构(因为我命名为 vidframe_s)所以有没有办法做到这一点,或者我必须调用我的function中的主结构?
【问题讨论】:
-
这很简单:如果你有
vidinfo_s vid_info;,那么组件sVid(又名vid_info.sVid)的地址就是&vid_info.sVid。 -
我忘记了 * 运算符
-
顺便说一句,您的
typedefs 毫无意义,因为您没有键入任何内容。typedef struct vidinfo_s { [...] } sometypename;是有道理的。