call by reference
[C언어 강좌-12] 함수 (Function)
안녕하세요 피터입니다.오늘은 C언어의 함수 (Function)에 대해 알려드리겠습니다. 개요수학에서는 함수 이런식으로 표기합니다. y = f(x)여기에서 x 는 함수의 입력값이 되고, y는 출력값이 됩니다. C언어에서 함수(Function)도 이와 유사하다고 볼 수 있습니다.입력값을 가질 수 있으며, 이에 대응되는 값을 출력할 수 있습니다. 문법(Syntax)함수 선언 (Function Declaration) 함수는 다음과 같이 선언할 수 있습니다. DataType FunctionName(DataType, ...); 위와 같은 문장(문장이기 때문에 ; 세미콜론으로 끝납니다)을 함수 선언 또는 함수 원형이라고 합니다. 맨 앞쪽에 있는 DataType이 ReturnType이며 함수의 출력값입니다.Functi..
[C언어 강좌-11] 포인터 (Pointer)
개요 안녕하세요 피터입니다. 오늘은 C언어의 포인터(Pointer)에 대해 알려드리겠습니다. 포인터는 C언어를 배우는 많은 사람들이 어려워 하는 개념 중에 하나입니다. 동시에 C언어에서 가장 중요한 개념 중 한가지이기도 합니다. 사실 포인터(Pointer)라는 것은 하나의 데이터 타입(DataType)일 뿐이며 실제 값(Value)를 저장하는 대신에 값이 저장되어 있는 변수의 주소(Address)가 저장된다는 것만 기억하면 어렵지 않습니다. 문법(Syntax) 포인터 타입 정의 (Definition) 포인터 타입을 정의할 때는 기존에 정의된 데이터 타입 뒤에 * (Asterisk) 를 붙이면 됩니다. (애스터리스크 라고 발음합니다) 예를들면 다음과 같이 정의할 수 있습니다. int* char* float..
[C++] 포인터(Pointer)와 레퍼런스(Reference : 참조자)의 차이
안녕하세요 피터입니다. 오늘은 C언어를 배운 후 C++을 공부하는데 있어서 굉장히 헷갈리는 개념인 포인터와 레퍼런스의 차이에 대해서 설명드리겠습니다. 개요 C++ 프로그래밍을 시작하면 레퍼런스(Reference : 참조자)라는 새로운 개념을 접하게 됩니다. 언뜻 보면 C언어를 공부할 때 여러분들을 굉장히 괴롭혔던 포인터(Pointer)와 유사해 보이는데 어떠한 대상을 가리킨다는 점에서는 같습니다. 하지만 포인터와 레퍼런스는 여러가지 차이점이 있습니다. 그 중에 여러분이 C++ 프로그래밍을 할 때 반드시 알아야 할 두 가지 중요한 차이점을 짚어드리겠습니다. 1. NULL 허용 여부 우선 NULL값을 허용하는 가에 대한 문제입니다. 포인터는 아시다시피 NULL을 허용하지만 레퍼런스는 NULL이 허용되지 않습..