본문 바로가기

C

[C언어] 포인터의 초기화

반응형

포인터의 초기화

 - 포인터에 직접 주소를 대입해서는 안 된다. (메모리 주소를 직접 접근 시, 실행 에러가 발생할 수 있다.)

 - 변수의 주소를 구할 때 주소 연산자(&, 참조 연산자)를 사용한다.

   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;
}

 

반응형