게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
(본삭금) 문자열 포인터 출력 질문!!
게시물ID : programmer_9221짧은주소 복사하기
작성자 : lev
추천 : 0
조회수 : 347회
댓글수 : 10개
등록시간 : 2015/04/09 00:36:20
옵션
  • 본인삭제금지
#include <stdio.h>
#include <stdlib.h>

typedef struct listnode{
    char *data;
    struct listnode *link;
} listnode;

void add_node(listnode **phead, listnode *p, listnode *new_node){
    if(*phead == NULL){
        new_node->link = NULL;
        *phead = new_node;
    }
    else if(p == NULL){
        new_node->link = *phead;
        *phead = new_node;
    }
    else{
        new_node->link = p->link;
        p->link = new_node;
        }
}


void remove_node(listnode **phead, listnode *p, listnode *removed){
    if(p == NULL){
        *phead = (*phead)->link;
    }
    else{
        p->link = removed->link;
        free(removed);
    }
}

void display(listnode *head){
    listnode *p=head;
    while(p != NULL){
        printf("%s->", p->data);//이 부분이 문제!!!!
       
        
        p = p->link;
    }
    printf("\n");

}


listnode *make_node(char *data, listnode *link){
    listnode *new_node;
    new_node = (listnode *)malloc(sizeof(listnode));
    if(new_node == NULL){
    printf("메모리 할당 에러");
}
    new_node->data = data;
    new_node->link = link;
    return(new_node);
}

main(){
    listnode *list1=NULL;
    listnode *p;
    int i = 0;
    char w = 'Z';



    for(i = 0; i<27; i++){
    add_node(&list1, NULL, make_node(&w, NULL));
    w--;
    }
    

    display(list1);

}
--------------------------------
메인함수에서 문자열을 출력하려고 하는데 문자열 대신에 주소값만 출력이 되네요 ;;;
void display에 있는 printf가 주소값이 아닌 주소값이 가리키는 문자열을 출력하게 하려면 어떻게 해야 하는지좀 알려주세요ㅠㅠ
    
    

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호