head의 바로 뒤에 데이터를 입력한다.
#include <stdio.h>
#include <stdlib.h>
struct Node{
int data;
next Node_* ptr;
}
typedef struct Node_ Node; //struct Node_를 Node라고 쓰겠다.
Node* head;
int main(){
head = NULL;
}
// null이므로 값 0을 가짐
int main(){
head = NULL;
int x;
scanf("%d", &x); //x 입력받기
insert(x);
}
void insert(int x){
Node* tmp = (Node*)malloc(sizeOf(Node));
tmp -> data = x;
tmp -> ptr = head;
}
int main(){
head = NULL;
int x;
scanf("%d", &x); //x == 5
insert(x);
}
void insert(int x){
Node* tmp = (Node*)malloc(sizeOf(Node));
tmp -> data = x;
tmp -> ptr = head;
head = tmp;
}
함수를 빠져나가면, stack의 tmp가 날라가며 아래와 같은 형태가 된다.
insert를 여러번 한다.
ex) insert(x) 3회 호출
입력 순서는 다음과 같다. [1, 2, 3]
int main(){
head = NULL;
int x, i;
for(i = 0; i< 3; i++){ //3회 insert
scanf("%d", &x);
insert(x);
}
}
void insert(int x){
Node* tmp = (Node*)malloc(sizeOf(Node));
tmp -> data = x;
tmp -> ptr = head;
head = tmp;
}