Im (symbol_table symtab, char sym) 인수가있는 get_symbol을 쓰는 데 어려움을 겪고있는 기호 테이블과 메신저를 작성하고 있습니다. 나는 2 개의 함수 get_symbol과 set_symbol에 대한 코드를 작성해야하는데, 나는 심볼 테이블이 무엇인지 이해하고이 두 함수를 작성하는 방법에 문제가있다. get_symbol()에는 두 개의 인수가 있습니다 : 심볼 테이블과 값을 가져와야하는 심볼 이름. 심볼 이름이 A, B, C 중 하나 인 경우 심볼 테이블의 해당 값이 반환되어야합니다. 그 이름이 아닌 경우는 0이 돌려 주어집니다. 당신의 시간 동안 큰 도움을 주실 수 있다면 도와 주실 수 있습니다.C에서 get_symbol 함수
symbol_table.c 번호 :
당신이 get_symbol에 값 전체 심볼 테이블을 전달하는하지 적어도 코드와 다른 많은 문제가있다#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "globals.h"
#include "symbol_table.h"
typedef struct symbol_table_s {
int a,b,c;
}*symbol_table_rep;
status init_symbol_table (symbol_table *p_symtab)
{
symbol_table_rep st = malloc(sizeof(struct symbol_table_s));
if (st == NULL)
return ERROR;
st->a = st->b = st->c = 0;
*p_symtab = (symbol_table) st;
return OK;
}
void destroy_symbol_table (symbol_table *p_symtab)
{
free(*p_symtab);
*p_symtab = NULL;
}
void set_symbol(symbol_table *p_symtab, char sym, int value)
{
/* WRITE CODE FOR THIS */
}
int get_symbol (symbol_table symtab, char sym)
{
/* WRITE CODE FOR THIS FUNCTION */
symbol_table_rep symtab;
if (A,B,C)
{
return symbol_table;
}else{
return 0;
}
}
symbol_table.h Code:
#ifndef _SYMBOL_TABLE_H
#define _SYMBOL_TABLE_H
#include "globals.h"
ABSTRACT_TYPE(symbol_table);
status init_symbol_table (symbol_table *p_symtab);
void destroy_symbol_table(symbol_table *p_symtab);
void set_symbol (symbol_table *p_symtab, char sym, int value);
int get_symbol (symbol_table symtab, char sym);
#endif
나는 당신이 얻으려고하는 것을 당신의 질문에서 이해했으나, 당신이 고투하고있는 것이 무엇인지를 이해하지 못했습니다. 정확히 어떤 부분에 도움을 요청합니까? 명시 적으로 지적하면 더 나은 답변을 얻을 수 있습니다. – amit
@amit 메신저는 두 가지 기능을 작성하려고하지만 어디서부터 시작해야할지 모릅니다. – Cka91405
'if (A, B, C)'문장의 목적은 무엇입니까? 합법적 인 동안, 당신은 어떤 변수도 선언하지 않았고,'C' 만 실제로 불린 표현으로 사용됩니다. –