struct数组 [英] struct array

查看:89
本文介绍了struct数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




以下代码出了什么问题?


typedef struct

{

word payLen;

数据类型数据[160];

} msg_type;


msg_type mymsg [10] ;


typedef struct

{

word myData;

}数据类型;


mymsg [i] .payLen = xxxx

for(k = 0; k< mymsg [i] .payLen; k ++)

{

mymsg [i] .payLen.data [k] .myData = yyyy;

}

Hi,

what is wrong with following code ?

typedef struct
{
word payLen;
datatype data[160];
} msg_type;

msg_type mymsg[10];

typedef struct
{
word myData;
} datatype;

mymsg[i].payLen = xxxx
for (k=0; k< mymsg[i].payLen; k++)
{
mymsg[i].payLen.data[k].myData = yyyy;
}

推荐答案

Magix写道:
Magix wrote:


以下代码有什么问题?

typedef struct
{
单词payLen;
数据类型数据[160];
} msg_type;

msg_type mymsg [10];

typedef struct
{
字myData;
}数据类型;

mymsg [i] .payLen = xxxx
for(k = 0; k< mymsg [i] .payLen; k ++)
{
mymsg [i] .payLen.data [k] .myData = yyyy;
}
Hi,

what is wrong with following code ?

typedef struct
{
word payLen;
datatype data[160];
} msg_type;

msg_type mymsg[10];

typedef struct
{
word myData;
} datatype;

mymsg[i].payLen = xxxx
for (k=0; k< mymsg[i].payLen; k++)
{
mymsg[i].payLen.data[k].myData = yyyy;
}




好​​吧,


a)''是什么'字样'?

b)数据类型在定义之前使用。


typedef int word;

typedef struct {word myData; }数据类型;

typedef struct {word payLen;数据类型数据[160]; } msg_type;

msg_type mymsg [10];


现在,

mymsg [i] .payLen.data [k] .myData

是完全错误的,因为payLen是一个单词,你试图将
用作结构。

mymsg [我] .data [k] .myData

是正确的。


这就是我能找到的全部。

HTH


dbtid



Well,

a) what''s "word"?
b) datatype is used before it''s defined.

typedef int word;
typedef struct { word myData; } datatype;
typedef struct { word payLen; datatype data[160]; } msg_type;
msg_type mymsg[10];

Now,
mymsg[i].payLen.data[k].myData
is CLEARLY wrong because payLen is a word, and you''re trying to
use it as a structure.
mymsg[i].data[k].myData
is correct.

That''s about all I can find.
HTH

dbtid


字是16位无符号整数。

我的目的是拥有msg_type有一个成员来保存一个int数组数据

例如mymsg [i] .data [k] .myData


所以我可以:

mymsg [0] .data [0] .myData = xxx

mymsg [0] .data [1] .myData = yyy

mymsg [ 0] .data [2] .myData = zzz

mymsg [0] .data [3] .myData = www

...等等


mymsg [1] .data [0] .myData = aaa

mymsg [1] .data [1] .myData = bbb

mymsg [1] .data [2] .myData = ccc

...等等


" dbtid" <分贝*** @ dev.null.com>在消息中写道

news:sg ***************** @ fe2.columbus.rr.com ...
word is 16 bit unsigned integer.
My purpose is to have msg_type has a member to hold an int array of data
e.g mymsg[i].data[k].myData

so that I can have:
mymsg[0].data[0].myData = xxx
mymsg[0].data[1].myData = yyy
mymsg[0].data[2].myData = zzz
mymsg[0].data[3].myData = www
... so on

mymsg[1].data[0].myData = aaa
mymsg[1].data[1].myData = bbb
mymsg[1].data[2].myData = ccc
... so on


"dbtid" <db***@dev.null.com> wrote in message
news:sg*****************@fe2.columbus.rr.com...
Magix写道:
Magix wrote:


以下代码有什么问题?

typedef struct
{
单词payLen;
数据类型数据[160];
} msg_type;

msg_type mymsg [10];

typedef struct
{
字myData;
}数据类型;

mymsg [i] .payLen = xxxx
for(k = 0; k< mymsg [i] .payLen; k ++ )
{
mymsg [i] .payLen.data [k] .myData = yyyy;
}
Hi,

what is wrong with following code ?

typedef struct
{
word payLen;
datatype data[160];
} msg_type;

msg_type mymsg[10];

typedef struct
{
word myData;
} datatype;

mymsg[i].payLen = xxxx
for (k=0; k< mymsg[i].payLen; k++)
{
mymsg[i].payLen.data[k].myData = yyyy;
}



嗯,

a)在定义之前使用了什么''s"?
b)数据类型。

typedef int word;
typedef struct {word myData; } datatype;
typedef struct {word payLen;数据类型数据[160]; msg_type;
msg_type mymsg [10];

现在,
mymsg [i] .payLen.data [k] .myData
是明显错误的,因为payLen是一句话,你试图将它用作结构。
mymsg [i] .data [k] .myData
是正确的。

这就是我能找到的全部。
HTH

dbtid



Well,

a) what''s "word"?
b) datatype is used before it''s defined.

typedef int word;
typedef struct { word myData; } datatype;
typedef struct { word payLen; datatype data[160]; } msg_type;
msg_type mymsg[10];

Now,
mymsg[i].payLen.data[k].myData
is CLEARLY wrong because payLen is a word, and you''re trying to
use it as a structure.
mymsg[i].data[k].myData
is correct.

That''s about all I can find.
HTH

dbtid



另外,我怎么能清空我的mymsg []和data [],以便接收新数据

?分配ot NULL?

* mymsg = NULL;

* data = NULL; ?

" dbtid" <分贝*** @ dev.null.com>在消息中写道

news:sg ***************** @ fe2.columbus.rr.com ...
Also, how can I empty my mymsg[ ] and data[ ], in order to receive new data
? Assign ot NULL ?

*mymsg = NULL;
*data = NULL; ?
"dbtid" <db***@dev.null.com> wrote in message
news:sg*****************@fe2.columbus.rr.com...
Magix写道:
Magix wrote:


以下代码有什么问题?

typedef struct
{
单词payLen;
数据类型数据[160];
} msg_type;

msg_type mymsg [10];

typedef struct
{
字myData;
}数据类型;

mymsg [i] .payLen = xxxx
for(k = 0; k< mymsg [i] .payLen; k ++ )
{
mymsg [i] .payLen.data [k] .myData = yyyy;
}
Hi,

what is wrong with following code ?

typedef struct
{
word payLen;
datatype data[160];
} msg_type;

msg_type mymsg[10];

typedef struct
{
word myData;
} datatype;

mymsg[i].payLen = xxxx
for (k=0; k< mymsg[i].payLen; k++)
{
mymsg[i].payLen.data[k].myData = yyyy;
}



嗯,

a)在定义之前使用了什么''s"?
b)数据类型。

typedef int word;
typedef struct {word myData; } datatype;
typedef struct {word payLen;数据类型数据[160]; msg_type;
msg_type mymsg [10];

现在,
mymsg [i] .payLen.data [k] .myData
是明显错误的,因为payLen是一句话,你试图将它用作结构。
mymsg [i] .data [k] .myData
是正确的。

这就是我能找到的全部。
HTH

dbtid



Well,

a) what''s "word"?
b) datatype is used before it''s defined.

typedef int word;
typedef struct { word myData; } datatype;
typedef struct { word payLen; datatype data[160]; } msg_type;
msg_type mymsg[10];

Now,
mymsg[i].payLen.data[k].myData
is CLEARLY wrong because payLen is a word, and you''re trying to
use it as a structure.
mymsg[i].data[k].myData
is correct.

That''s about all I can find.
HTH

dbtid



这篇关于struct数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆