구조체 안에 일부분만 char 배열에 복사하려면 어떻게 해야하나요?
차분
질문 제목 : 구조체 안에 일부분만 char 배열에 복사하려면 어떻게 해야하나요? 질문 내용 :
struct symtab{
char id;
int line;
struct symtab *next;
}이런 구조체가 있는데요
저기 구조체 안에 char id 부분만 따로 char *list; 와 같은 곳에 저장하고 싶으면 어떻게 해야하나요?
그리고 다음 코드에서 같은 것이 출력이 여러번 되는데
한번씩만 출력하고 싶으면 어떻게 해야하는지...// printout undeclared symbols
printundeclared()
{
char *tok;
struct symtab *ptr = unde ;
struct symtab *ptr2 = unde;
for( ; ptr!=null ;ptr=ptr-next){
tok=ptr-id;
printf(%s - undeclared, used on ,tok);
for( ; ptr2!=null; ptr2=ptr2-next)
{
if(strcmp(tok, ptr2-id)==0)
{
printf(%d, , ptr2-lines);
}
}
ptr2=unde;
printf(\n)
}
똑같은 결과가 여러번 출력이 되요
한번만 출력되길 원하는데..
그래서 구조체 안에 일부분만 따로 복사해서 그 문자열 비교해서 출력하는 방식으로 바꿔보려고 하는데
될지 모르겠네요
답변 부탁드립니다
-
해찬솔
똑같은 결과가 여러분 출력된다는게 무슨말인가요??
저기 구조체 안에 char id 부분만 따로 char *list; 와 같은 곳에 저장하고 싶으면 어떻게 해야하나요? 질문은
char *list[n];로 하던지 아니면 연결리스트로 하던지 해서 systab구조체를 하나씩 만들때마다 list에도 바로바로 넣어주면 되지 안을까염?