本文介绍了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;
}

推荐答案




好​​吧,


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




嗯,

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





嗯,

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数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-22 16:02