신규 블로그를 만들었습니다!
포인터를 잘하면 C언어를 잘 다룬다고 할 수 있을 정도로 어렵기도하고 중요한 부분이기도 하다.
1. 포인터란?
포인터는 메모리의 주소를 담은 공간이다. 보통 변수에 값을 저장해 왔지만, 포인터변수의 경우는 변수의 값이 아닌 그 값의 메모리 주소를 담고 있는 변수이다.
2. 포인터 변수의 선언 & 초기화
포인터변수를 사용 하기 위해서는 보통 변수를 선언하고 초기화 하듯이 포인터변수도 해줘야 한다.
다만 *를 사용해야만 하는 차이가 존재한다.
int* pointer = NULL;
포인터를 초기화 할때는 무조건 NULL을 이용해서 해야 한다.
3. 포인터 변수의 사용
& 은 메모리주소를 알고 싶을때 사용하고, * 은 특정한 메모리 주소의 데이터 값을 알고 싶을때 사용한다.
#include <stdio.h>
int main(void) {
// 일반 변수
int num = 40;
// 포인터 변수 선언과 초기화
int* numPointer = NULL;
// num의 주소를 numPointer 포인터변수에 저장
numPointer = #
// 일반 변수 num의 값 출력
printf("num = %d\n", num);
// num의 주소 값 출력
printf("&num = %x\n", &num);
printf("numPointer = %x\n", numPointer);
// numPointer가 가지고 있는 주소의 데이터 값
printf("*numPointer = %d\n", *numPointer);
// numPointer의 주소
printf("&numPointer = %x\n", &numPointer);
// numPointer의 주소의 값의 값
printf("**&numPointer = %d\n", **&numPointer);
return 0;
}
관련 글
2018/02/05 - [Language/C] - C언어 :: 배열이란(Array), 선언과 초기화 #12
2018/02/06 - [Language/C] - C언어 :: 포인터와 배열, 포인터를 이용한 문자열 #14
'Language > C&C++' 카테고리의 다른 글
C언어 :: 포인터와 함수, static #15 (0) | 2018.02.06 |
---|---|
C언어 :: 포인터와 배열, 포인터를 이용한 문자열 #14 (0) | 2018.02.06 |
C언어 :: 배열이란(Array), 선언과 초기화 #12 (0) | 2018.02.05 |
C언어 :: 함수(function, method)와 사용법 #11 (0) | 2018.01.30 |
C언어 :: 제어문(반복문 for while, 조건문 if switch) #10 (0) | 2018.01.29 |
최근댓글