我是C的新手,我想知道如何访问放置在结构中的结构内部的元素.
struct profile_t
{
unsigned char length;
unsigned char type;
unsigned char *data;
};
typedef struct profile_datagram_t
{
unsigned char src[4];
unsigned char dst[4];
unsigned char ver;
unsigned char n;
struct profile_t profiles[MAXPROFILES];
} header;
Run Code Online (Sandbox Code Playgroud)
如何访问profile_t中的元素?
struct profile_t;
Run Code Online (Sandbox Code Playgroud)
上述语句不会创建类型的对象profile_t.你需要做的是 -
struct profile_t inObj ;
Run Code Online (Sandbox Code Playgroud)
然后为其创建对象profile_datagram_t.即
header outObj ; // header typedef for profile_datagram_t
Run Code Online (Sandbox Code Playgroud)
现在你可以访问像 -
outObj.inObj.type = 'a' ; // As an example
Run Code Online (Sandbox Code Playgroud)
在C++中,在为结构创建对象时,不需要struct关键字.
在您的问题编辑和评论:
struct profile_t profiles[MAXPROFILES];
Run Code Online (Sandbox Code Playgroud)
profiles是一个类型的对象数组profile_t.要访问单个对象,只需使用[]运算符即可.即
header obj ;
obj.profiles[0].type = 'a' ; // Example
Run Code Online (Sandbox Code Playgroud)
obj.profiles[i],其中i可以取值从0到MAXPROFILES - 1,给出索引处的对象i.
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |