次のポインターを宣言したコンパイラーの字句解析でいくつかの問題に直面しています
char *words[29]={
"program",
"label",
"integer",
"word",
"char",
"byte",
"shortint",
"logint",
"real",
"single",
"double",
"string",
"boolean",
"var",
"procedure",
"function",
"begin",
"end",
"if",
"then",
"else",
"or",
"and",
"div",
"not",
"do",
"while",
"mod"
};
char message[30];
そして、関数でそれを使用しようとしました
for(handle=0;(&words[handle] != NULL);handle++)
{
message = &words[handle];
if(!strcmp(token,message))
message='words';
}
しかし、実行しようとすると次のエラーが表示されます。
About (line message = &words[handle];) : warning C4047: '=' : 'char [30]' は 'char ** ' とは間接性のレベルが異なります
About (line message = &words[handle];): エラー C2106: '=': 左オペランドは左辺値でなければなりません
About (line message='words';) : エラー C2015: 定数の文字数が多すぎます
About (line message='words';): エラー C2106: '=': 左オペランドは左辺値でなければなりません
そのようにポインターを操作することはできませんか? 何か提案はありますか?