Computer Science/C\C++

[C언어] 함수 중심의 포인터 활용

hyunjin 2021. 5. 19. 18:47

Call-By-Value vs. Call-By-Reference

포인터를 이용하면 함수 내에서 외부에 있는 변수에 직접 접근이 가능

#include <stdio.h>

void CallByVal(int num)
{
	num++;
}

void CallByRef(int * ptr)
{
	(*ptr)++;
}

int main(void)
{
	int val=10;
	CallByVal(val);
	printf("CallByVal: %d\n", val);
	CallByRef(&val);
	printf("CallByRef: %d\n", val);
	return 0;
}

=>CallByVal : 10

=>CallByRef : 11

 

=>CallByVal 값을 전달(복사)

=>CallByRef 주소값을 전달(직접 접근)


자료형에 이름을 부여하는 typedef 키워드

typedef TYPE NAME

 

ex) typedef int* P_INT; //int*자료형에 P_INT라는 이름 부여