struct数组 [英] struct array
问题描述
以下代码出了什么问题?
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屋!