배열과 스트링카피를 사용하지않고 원형 연결리스트에 문자열을받아 문자열을 출력하고싶습니다.


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

typedef struct cnode *npointer;
struct cnode{
 int num;
 char grade;
 npointer link;
};       //노드정의
npointer ptr=NULL;   

void insert_front(npointer node)
{
 if(!ptr){
  ptr=node;
  node->link = node;
 }
 else{
  node ->link = ptr->link;
  ptr->link=node;
 }
}                   //노드 추가
void c_print(){
 npointer temp=ptr;
 if(ptr){
  do{
   printf("%d : %c\n",temp->num,temp->grade);
   temp = temp->link;
  }
  while(temp !=ptr);
 }
}        //출력


void main()
{
 int cond =1;
 npointer temp;

 while(cond){

  temp=(npointer) malloc(sizeof(struct cnode));
  printf("Enter id and grade :");
  fflush(stdin);
  scanf("%d %c",&(temp->num),&(temp->grade));
  insert_front(temp);

  printf("Continue? 0/1 :");
  fflush(stdin);
  scanf("%d",&cond);
 }
 c_print();


}


이러한 원형 연결리스트 인데 어떤짓을해도 하나의 문자는 저장하고 출력이 되는데


여러문자인 문자열은 배열을 사용하지않는이상 안되더라구요..


어떤 방식으로 해야 배열을 사용하지않고 노드에다가 문자열을 저장할수 있나용