본문 바로가기

포인터

(3)
[C언어 강좌] #48 함수 포인터 제목에서도 알 수 있듯이 이번 주제는 함수 포인터입니다.함수 포인터라는 이름만 들어도 딱 감이 오시겠지만, 함수포인터는 함수를 가리키는 포인터입니다. 변수만 메모리 공간에 저장되는 게 아니고 함수도 메모리 공간에 저장돼서 호출 시 실행이 됩니다.그렇다면 함수도 메모리 공간에 있으니 당연히 메모리 주소도 존재한다는 뜻이겠죠? 배열의 이름이 배열의 시작주소 값을 나타내는 것 처럼 함수의 이름도 메모리 공간의 주소를 나타냅니다. 123456789#include int add(int a,int b) { return a+b;}int main (void) { printf("%d",add);}cs 두 변수를 더해서 값을 반환하는 add함수를 만들고 함수명을 적어서 출력해봤습니다.출력결과는 add함수의 주소 값이 출력..
[C언어 강좌] #47 배열포인터 배열포인터에 대해 알아봅시다.우선 배열포인터는 포인터배열과는 다른겁니다.이름이 비슷해서 헷갈릴수 있죠. 포인터배열은 저번에도 말했듯이 포인터변수를 담을수 있는 배열입니다.그에비해 이번에 배울 배열포인터는 배열을 가리키는 포인터변수입니다. 사실 근데 배열 이름은 첫번째 원소의 주소를 가리키고있는 상수 포인터라고 배운적이 있잖아요? 그래서arr[i]*(arr+i)이 둘은 같다고 볼수있죠. 배열포인터라는건 결국 그 포인터 상수를 가리키는 포인터라고 볼수 있기때문에 이중포인터라고도 볼수 있습니다.이중포인터에 대해서는 저번 46강에서 설명해드렸었죠. 배열포인터는 보통 다차원배열에 접근할때 쓰입니다. 12345678#include int main(void) { int arr[2][3] = {{0,1,2},{3,4,..
[C언어 강좌] #46 다중 포인터 안녕하세요. 오랜만에 C언어강좌를 다시 써보네요.한 3~4달정도 블로그 포스팅을 쉰것같습니다.오랜만에 써서 갑자기 강좌가 좀 다른느낌이 들수도 있습니다. 양해 부탁드려요 ㅋㅋ 예전 강좌까지는 이미지를 통해서 코드를 보여드렸었는데 굳이 그럴 필요 없었더라고요.12345#include int main(void) { printf("HelloWorld");} cs앞으로는 이런 방식으로 예시를 보여드릴수 있겠습니다.그리고 예전에는 1일에 한개씩 글을 썼지만 이제는 그렇게까지는 못쓸것같네요.조금 불규칙적으로 글을 작성하게 될것같습니다. 그래도 시간날때마다 틈틈히 써보도록 할게요. 아무튼 여기까지는 잡소리였고 강좌 시작하겠습니다.이번에 배워볼 내용은 다중 포인터라는 개념인데요. 말만 들어도 감이 오지않나요?다중포인터..