结构体指针已经定义了 为什么提示说没有定义

来源:百度知道 编辑:UC知道 时间:2024/09/25 02:34:30
int acsmSearch (STATEMACHINE * acsm, char *Tx,int n,int nline)
{
char *T,*Tc;
int index;
T=Tx;
Tc=Tx+n;
STATE *s;
ACSM_PATTERN *mlist;
for (s=acsm->aStateMachine; T < Tc; T++)
{
s = s.aNextState[*T];

if( s.MatchList != NULL )
{
for( mlist=s.MatchList; mlist!=NULL;
mlist=mlist->next )
{
index = T - mlist->num + 1 - Tx;
// PrintMatch (mlist,nline,index);
fprintf (stdout, "Match KeyWord %s at %d line %d char\n", mlist->pattern,nline,index);
}
}
}

return 0;
}
void acsmFree(STATEMACHINE * acsm) //free the momery
{
int flag,i=0;
STATE * s;
s=acsm->aStateMachine;
ACSM_PATTERN * mlist, *ilist;
for(i=0;i<ALPHABET_SIZE;i++)
{
if(s->aNextState[i]!=ACSM_FAIL_STATE)
{
flag=1;
s=s->aNextState[i];

在变量声明之前不要有其他的语句。

char *T,*Tc;
int index;
STATE *s;
ACSM_PATTERN *mlist;
T=Tx;
Tc=Tx+n;

STATE *s 换 STATE s 试试
或者所有s.换s->

总之就是.和->的问题