반응형

http://www.winapi.co.kr/:

아래 3개는 모두 동일

const int Day=24;

int const Day=24;

const Day=24; //int 를 안쓰면 default 로 int 가 선언되어진다

int 의 경우 const 순서 상관없이 변수값이 const 가 되지만 포인터의 경우에는 차이가 있다

15-1-나.포인터와 const

const를 포인터와 함께 사용하면 효과가 조금 달라진다. 다음 예제는 포인터와 const의 관계를 실험해 보기 위해 작성했는데 컴파일해 보면 몇 군데서 에러가 발생할 것이다.

: ConstPointer

#include <Turboc.h>

void main()

{

int ar[5]={1,2,3,4,5};

int *pi1=&ar[0];

pi1++; // 포인터가 다른 대상체를 가리킬 수 있다.

*pi1=0; // 대상체를 변경할 수 있다.

const int *pi2=&ar[0];

pi2++; // 포인터가 다른 대상체를 가리킬 수 있다.

*pi2=0; // 에러 : 대상체가 상수이므로 변경할 수 없다.

int * const pi3=&ar[0];

pi3++; // 에러 : 포인터가 다른 대상체를 가리킬 수 없다.

*pi3=0; // 대상체는 변경할 수 있다.

const int * const pi4=&ar[0];

pi4++; // 에러 : 포인터가 다른 대상체를 가리킬 수 없다.

*pi4=0; // 에러 : 대상체가 상수이므로 변경할 수 없다.

}

반응형

+ Recent posts