티스토리 뷰
포인터에 붙는 Const의 위치에 따라 모두 다른 의미를 가지게 된다.
- Const int *변수명
데이터를 상수화하며, 포인터는 조작할 수 있다.
- int * const 변수명
포인터를 상수화하며, 데이터는 조작할 수 있다.
- const int * const 변수명
데이터와 포인터를 모두 상수화시켜서, 아무것도 변경할 수 없다.
- int const *변수명
데이터를 상수화하며, 포인터는 조작 할 수 있다.
주석처리 된 부분은 모두 사용될 수 없다.
int main(){ int tmp = 100; const int *ptr1 = &tmp; int * const ptr2= &tmp; const int * const ptr3= &tmp; int const *ptr4 = &tmp; // ++(*ptr1); // ++ptr2; // ++ptr3; // ++(*ptr3); // ++(*ptr4); // const에 따른 에러 상황들... ++ptr1; ++(*ptr2); ++ptr4; return 0; }
'Language > C' 카테고리의 다른 글
[C언어] 함수 포인터 배열 (0) | 2013.10.02 |
---|---|
[C언어] 함수 포인터 (0) | 2013.10.02 |
[C언어] 문자열 포인터 (0) | 2013.10.01 |
[C언어] scanf()와 fgets()의 차이 (0) | 2013.10.01 |
[C언어] 배열이 0부터 시작하는 이유 (0) | 2013.10.01 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday