선형 표 & 단일 체인 표
단일 체인 시트 의 데 이 터 는 노드 로 표 시 됩 니 다. 모든 노드 의 구성: 요소 (데이터 요소 의 이미지) + 포인터 (후계 요소 의 저장 위 치 를 표시 합 니 다) 요 소 는 데 이 터 를 저장 하 는 저장 장치 이 고 지침 은 모든 노드 를 연결 하 는 주소 데이터 입 니 다.그래서 모든 결점 은 하나의 구조 체 이다.여기 서 주의해 야 할 것 은 구조 체 를 정의 할 때 구조 체 안의 변 수 는 반드시 메모리 공간 을 명확 하 게 확인 할 수 있어 야 한 다 는 것 이다.
#include
#include
//
typedef struct node{
char *name;//
struct node *next;//
}Node;
void myFree(Node *pHead){
while (pHead != NULL) {
//
Node *pTemp = pHead->next;
// name
free(pHead->name);
//
free(pHead);
//pHead
pHead = pTemp;
}
}
int main(int argc, const char * argv[]) {
Node *pHead = NULL;
Node *pTail = NULL;
for (int i = 0; i < 3; i++) {
int total = 0;//
//
Node *pTemp = (Node *)malloc(1 * sizeof(Node));
if (pTemp == NULL) {
myFree(pHead);
exit(EXIT_FAILURE);
}
//
// name
printf(" :");
char character;
while (1) {
//
character = getchar();
// '
'
if (character == '
'){
//
break;
} else{
//
//
if (pTemp->name == NULL) {
// malloc
pTemp->name = (char *)malloc(1 * sizeof(char));
if (pTemp->name == NULL) {
exit(EXIT_FAILURE);
}
} else{
pTemp->name = (char *)realloc(pTemp->name, (total+1)*sizeof(char));
if (pTemp->name == NULL) {
exit(EXIT_FAILURE);
}
}
pTemp->name[total] = character;
total++;
}
}
// next
pTemp->next = NULL;
// + head tail
if (pHead == NULL) {
pHead = pTemp;
pTail = pTemp;
} else{
pTail->next = pTemp;
pTail = pTemp;
}
}
Node *pTemp = pHead;
while (pTemp != NULL) {
printf("%s
", pTemp->name);
pTemp = pTemp->next;
}
printf("
");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.