A sentimental robot

동적메모리할당함수 호출하기(방법2 : 더블 포인터를 이용한 call by address) 본문

C

동적메모리할당함수 호출하기(방법2 : 더블 포인터를 이용한 call by address)

GOD03219 2017. 12. 29. 20:54

#include<stdio.h>
#include<stdlib.h>
#pragma warning (disable:4996)
void memoryalloc(int **pp);
void input(int*p);
void output(int*p);
void del(int*p);
void main()
{
 int *p;
 
 memoryalloc(&p);      // 포인터의 주소를 넘겨주기
 input(p);    
 output(p);    
 del(p);

    

}


void memoryalloc(int**pp)
{

 *pp=(int*)calloc(1,sizeof(int));
}


void input(int*p)
{
 printf("숫자를 입력하시오.(입력함수)\n");
 scanf("%d",p);

}


void output(int*p)
{
 printf("입력한 숫자가 나옵니다.(출력함수)\n");
 printf("%d\n", *p);

}


void del(int*p)
{
 free(p);
}

 

/*

동적메모리 할당 함수로 void 함수를 썼기 때문에 return을 하지 않는다. 대신 다차원포인터(더블포인터)사용 해서 포인터가 동적메모리를 계속 잡고 있는다.

*/

 


'C ' 카테고리의 다른 글

const  (0) 2018.01.02
구조체의 포인터멤버변수 동적메모리할당  (0) 2018.01.02
동적메모리할당함수 호출하기(방법1)  (0) 2017.12.29
3차원배열  (0) 2017.12.29
다차원포인터 동적메모리할당  (0) 2017.12.29