본문 바로가기

C

[자료구조] 포인터 응용

func1

int* func1 (void) {
int *p = (int*)malloc(sizeof(int));
*p = 10;
return p;
}

반환값이 포인터이므로 함수의 첫 시작도 int * 형이어야 한다.

 

func2

void func2 (int *pnum) {
*pnum = 100;
}

포인터 pnum을 매개변수로 넘겼으므로 (int *pnum) 으로 써야함.

 

func3

void func3(int **pnum){
**pnum = 200;
}

pnum의 주소값을 매개변수로 넘겼으므로 (int **pnum)으로 써야함

*(*pnum) = *(pnum의 역참조)

 

func4

char* func4(int size){
char *cp = (char*)malloc(sizeof(char) * size);
return cp;
}

반환값이 포인터이므로 함수의 첫 시작도 char * 형이어야 한다.