예전엔 자주 썼는데 요새 코딩보단 이론적으로 접근하다보니까 사용빈도가 급격히 줄어들어 자꾸 헷갈린다;
역시 프로그래밍은 닥치고 코딩을..
아 요점은
*p = 50; 에서 에러가 발생한다.
const int *p; 는 int* 즉 포인터가 가르키는 값을 상수화 시킨다는 것이다.
고로 temp의값을 *p로는 값을 바꿀수가 없다.
뭐 저경우에는 temp자체를 바꾸면 바꿔지지만 요점은 이게아니고.
p = &temp2; 에서 에러가 발생한다.
int * const p; 는 주소를 담는 p를 상수화 한다는 것이다. 고로 주소가 변경이 불가능하다!
위는 p에 다른 주소값을 대입하려고 한다.
자연스럽게 에러가 뜬다!
그렇다면 주소를 바꾸지도 값을 바꾸지도 못하고 싶다면 !
역시 프로그래밍은 닥치고 코딩을..
아 요점은
int main() { int temp = 10; int temp2 = 20; const int *p = &temp; *p = 50; p = &temp2; }결과는?
*p = 50; 에서 에러가 발생한다.
const int *p; 는 int* 즉 포인터가 가르키는 값을 상수화 시킨다는 것이다.
고로 temp의값을 *p로는 값을 바꿀수가 없다.
뭐 저경우에는 temp자체를 바꾸면 바꿔지지만 요점은 이게아니고.
int main() { int temp = 10; int temp2 = 20; int * const p = &temp; *p = 50; p = &temp2; }결과는?
p = &temp2; 에서 에러가 발생한다.
int * const p; 는 주소를 담는 p를 상수화 한다는 것이다. 고로 주소가 변경이 불가능하다!
위는 p에 다른 주소값을 대입하려고 한다.
자연스럽게 에러가 뜬다!
그렇다면 주소를 바꾸지도 값을 바꾸지도 못하고 싶다면 !
const int * const p = &temp;라고 하면된다 !
'IT용어 또는 정리' 카테고리의 다른 글
카페에서 Wifi 접속이 안 될 경우 (0) | 2012.08.16 |
---|---|
i386 ?? x86 ?? x86_64 ?? (0) | 2012.03.27 |
BigData ?? (1) | 2012.01.06 |
암달의 법칙 (0) | 2012.01.03 |
DB) 트랜젝션, transaction 이란 (0) | 2011.12.28 |