我正在爲一個類的簡單lex程序,並在其中創建一個非常基本的符號表,只是一個線性掃描的搜索字符串數組。我已經聲明它:如何聲明字符串的C數組
char* identifiers[100];
而且我使用它像這樣:
found = false;
for (i = 0; i < seen_identifiers; i++) {
if (!strcmp(identifiers[i], yytext)) {
printf("Identifier \"%s\" already in symbol table", yytext);
found = true;
break;
}
}
if (!found) {
printf("identifier: %s\n", yytext);
seen_identifiers++;
identifiers[seen_identifiers] = yytext;
}
但是我始終得到在STRCMP呼叫段錯誤。我確定我搞砸了一些超級簡單的東西。
你如何將字符串分配給數組?你可以發佈那個示例代碼嗎? – micmoo