링크 생 성, 방출, 출력
/*
** : ( 、 )
*/
#include <stdio.h>
#define MAX 10
int DataNum = 1;
char DataName[MAX];
int i = 0;
//
struct List{
int dataNum;
char dataName[MAX];
struct List *Next;
};
typedef struct List Node;
typedef Node* Link;
//
Link listCreate(Link Head){
Link Pointer,New;
Head = (Link)malloc(sizeof(Node));
if(Head == NULL){
printf("alloc failed!
");
}else{
Head->dataNum = DataNum;
Head->Next = NULL;
Pointer = Head;
printf("please input your name:
");
scanf("%s",DataName);
for(i=0;i<MAX;i++){
Head->dataName[i] = DataName[i];
}
while(1){
DataNum++;
New = (Link)malloc(sizeof(Node));
New->dataNum = DataNum;
New->Next = NULL;
printf("please input your name:
");
scanf("%s",DataName);
if(DataName[0] == '0'){
break;
}
for(i=0;i<MAX;i++){
New->dataName[i] = DataName[i];
}
Pointer->Next = New; // New
Pointer = New; // Pointer
} //end while
} //end if
return Head;
}
//
void listFree(Link Head){
Link Pointer;
while(Head){
Pointer = Head;
Head = Head->Next;
printf("Node %s has been released
",Pointer->dataName);
free(Pointer);
}
}
//
void listPrint(Link Head){
Link Pointer;
Pointer = Head;
while(Pointer){
printf("the %dth Node's name is %s
",Pointer->dataNum,Pointer->dataName);
Pointer = Pointer->Next;
}
}
int main(int argc, char *argv[])
{
Link Head;
Head = listCreate(Head);
if(Head){
listPrint(Head);
listFree(Head);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Ruby 초입문】MVC 프레임워크란?안녕하세요! 오늘은 MVC 모델이란 무엇입니까? 그래서, MVC의 각 역할에 대해 출력합니다. 여기 틀렸어? 라는 개선점이 있으면 알려주세요! MVC는 Model View Control의 이니셜을 취한 것. 각 역할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.