#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int data3;
int data4;
}Data2;
typedef struct
{
int data1;
int data2;
Data2 * p;
}Data1;
void func2(Data2 *p)
{
p->data3=100;
}
void func3 (Data1***p)
{
(**p)->p->data4 = 200;
}
void func1(Data1* *p)// 더블포인터 // func2 소멸 후 돌아옴//
{
Data2 * p2 = (Data2 *)malloc(sizeof(Data2));
(*p)->p = p2;
func2((*p)->p);
// func2 를 만들어서 func2 안에서 data3 에 100을 넣으세요.
func3(&p);
// func3 를 만들어서 func3 안에서 data4 에 200을 넣으세요.
};
int main()
{
Data1 * p = (Data1 *)malloc(sizeof(Data1));
func1(&p);
//
//data3 와 data4 를 출력하세요.
printf("data3=%d,data4=%d\n",p->p->data3,p->p->data4);
return 0;
}
이건 c언어 동적할당 부분인데요
문제 풀이 좀 부탁드립니다
그리고 문제 접근 방법 좀 알려 주세요 ㅠ ..
#include <stdio.h>
#include<stdlib.h>
#define EMPTY 0
struct node{
int data;
struct node * link;
};
typedef struct node stack;
stack * get_node()
{
stack * tmp;
tmp=(stack *)malloc(sizeof(stack));
tmp->link=EMPTY;
return tmp;
}
void push(stack **top, int data)
{
stack *tmp;
tmp=*top;
*top=get_node();
(*top)->data=data;
(*top)->link=tmp;
}
void main()
{
stack * top=EMPTY;
push(&top, 10);
}
자료구조
구조 분석 하는부분인데
함수 종료 소멸하는 부분에서
이해가 안되네요
문제 풀이 좀 부탁드립니다 ..