반응형
포인터의 초기화
- 포인터에 직접 주소를 대입해서는 안 된다. (메모리 주소를 직접 접근 시, 실행 에러가 발생할 수 있다.)
- 변수의 주소를 구할 때 주소 연산자(&, 참조 연산자)를 사용한다.
int a = 10;
int *pa = &a;
- 포인터 변수 초기화
int *p1 = 0;
int *p2 = NULL;
#include<stdio.h>
int main(){
//int *p1 = 0x12345678; // (오류) compile error
int *p2 = (int*)0x12345678; // 실행 error가 발생할 수 있다.
int a = 10;
int *p3 = &a;
int *p4 = 0;
int *p5 = NULL;
printf("p2 = %p\n", p2); // p2의 주소를 출력하기 위해 '%p'를 사용한다.
printf("p3 = %p\n", p3);
printf("p4 = %p\n", p4);
printf("p5 = %p\n", p5);
return 0;
}
반응형
'C' 카테고리의 다른 글
[C언어] 포인터(Pointer) - 2 (0) | 2021.04.12 |
---|---|
[C언어] 역참조연산자(간접연산자, *) (0) | 2021.04.07 |
[C언어] 포인터의 크기 (0) | 2021.04.06 |
[C언어] 실습: 숙박 관리 프로그램 구현하기 (0) | 2021.03.30 |
[C언어] 실습: Magic Matrix (마방진) 게임 만들기 (0) | 2021.03.29 |