ÇÁ·Î±×·¡¹Ö

 3200, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   my10045139
   http://lms247.blog.me/
   c¾ð¾î ±¸Á¶Ã¼ ¹è¿­ Æ÷ÀÎÅÍ·Î ÇÔ¼ö·Î Àü´ÞÇϴµ¥...

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6593 [º¹»ç]


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//prototype of function
void printMenu(void);
void addSymbolTable(struct SymbolTable*, int*);
void setSymbolTable(void);
void retrieveSymbolTable(void);

//struct
typedef struct {
    //struct variable
    int no;
    char name[10];
    char type[6];
    char data[7];
    int length;
    int value;
    int base;
    int offset;

} SymbolTable;

int main(int argc, char* argv[])
{
    //variable
    char menu_list[4] = {'Q', 'N', 'E', 'S'};
    char input_menu;
    int symbol_tbl_size = 1;
    int *symbol_size_ptr = &symbol_tbl_size;
    struct SymbolTable *symTbl[symbol_tbl_size];

    //call function
    printMenu();
    while(getc(input_menu != menu_list[0])) {
        if(input_menu == menu_list[1]) addSymbolTable(&symTbl, &symbol_size_ptr);
        else if(input_menu == menu_list[2]) setSymbolTable();
        else if(input_menu == menu_list[3]) retrieveSymbolTable();
        else printf("it's not exist command. please try again after check the command list.");
    }

    return 0;
}

void printMenu(void) {
    //developer information
    printf("A symbol table is used to store and retrieve attributes of"
           "variables declared in a source program during compilation."
           "This program simulates the symbol table usage simply."
           "Created by \n\n");

    //this program explanation
    printf("Current symbol table is empty.\n"
           "Usage: N - add a new variable to the symbol table.\n"
           "\tE - set base address.\n"
           "\tS - retrieve certain variable from the symbol table.\n"
           "\tQ - Exit program.\n\n");
}

void addSymbolTable(struct SymbolTable *tbl, int *tbl_size) {
    tbl[*tbl_size-1] = malloc(sizeof(struct SymbolTable));
    *tbl_size++;

}

¿¡¼­

void addSymbolTable(struct SymbolTable *tbl, int *tbl_size) {
    tbl[*tbl_size-1] = malloc(sizeof(struct SymbolTable));
    *tbl_size++;

}

ÀÇ void addSymbolTable(struct SymbolTable *tbl, int *tbl_size) { ºÎºÐ¿¡¼­ ¿¡·¯°¡°¡ ³ª°í ÀÖ½À´Ï´Ù..
¹¹°¡ ¹®Á¦Àΰ¡¿ä?

  Hit : 7338     Date : 2017/12/13 12:04



    
±è´äº¯ typedef·Î struct¸¦ ¾²¼ÌÀ¸¸é SymbolTableÀÚü°¡ struct ¼±¾ðÀ» °®°í ÀÖ½À´Ï´Ù
struct SymbolTable À̶ó°í ¾²½Å°Íµé¿¡¼­ ´Ù struct¸¦ »©½Ã¸é µË´Ï´Ù
2017/12/14  
±è´äº¯ ¾Æ ±×¸®°í ÇÔ¼ö ¼±¾ðÇÒ¶§ ÇÔ¼ö¼±¾ð ¾Æ·¡¿¡¼­ Á¤ÀÇÇÑ typeÀ» ¾²°í °è½Ã³×¿ä
structÁ¤ÀǸ¦ ¸ÕÀú ÇϽŴÙÀ½¿¡ ÇÔ¼ö¼±¾ðÀ» ÇÏ¼Å¾ß ÇÕ´Ï´Ù
2017/12/14  
menial ¹è¿­ À̸§ ÀÚü°¡ ÁÖ¼ÒÀε¥ ¶Ç ÁÖ¼Ò¸¦ º¸³»³ª?
Áö¿ªº¯¼öµé¿¡ ´ëÇÑ ÃʱⰪÀº ¾ÈÁݴϱî?
±¸Á¶Ã¼ Æ÷ÀÎÅÍ ¹è¿­º¯¼ö´Â ÃʱⰪÀ» ³Ö°í ½ÃÀÛÇØ¾ßÁÒ
2018/11/21