일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- android imageView zoom
- android loadImage
- 구포에서 자전거
- 낙동강 종주
- mysql
- elk stack
- c언어 구조체
- spring
- volley
- 삼량진
- 부산에서 창원
- C언어
- 안드로이드 이미지 로드
- 창원에서 부산
- laravel
- 로드바이크
- 구포에서 삼량진
- 부산에서 창원 자전거
- 구조체
- ImageLoad
- NetworkImageView
- 자바
- image zoom
- android ImageLoad
- httpclient post
- spring boot
- 자전거
- android facebook
- 삼량진 자전거
- workbench
Archives
- Today
- Total
은근한
C언어 8. const 포인터 본문
const포인터는 3가지 경우가 있다.
우선
1. const가 포인터가 가리키는 데이터형 앞에 오는경우
이경우 포인터가 가리키는 값을 변경할 수 없게 된다. 포인터 편수 자신의 값인 주소를 변경하는 것은 가능하다.
ex)
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> void main () { char str1[20] = "abcd"; char str2[20] = "efgh"; const char *p = str1; p[0] = 'A'; //p가 가리키는 값을 병경할 수 없으므로 에러 p = str2; //p의 값(주소)은 변경가능하다. } |
2. const가 포인터 변수 이름 앞에 오는경우
포인터가 가리키는 값은 변경할 수 있지만 포인터 변수 자신의 값(주소)을 변경할수 없게 된다.
ex)
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> void main () { char str1[20] = "abcd"; char str2[20] = "efgh"; char *const p = str1; p[0] = 'A'; //p가 가리키는 값은 변경할 수 있다. p = str2; //p의 값(주소)을 변경할수 없으므로 에러 } |
3.const가 데이터형 앞과 포인터 변수 이름 앞 양쪽 모두에 오는경우
포인터가 가리키는 값도 변경할 수 없고 포인터 변수 자신의 값(주소)도 변경할 수 없게 된다.
ex)
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> void main () { char str1[20] = "abcd"; char str2[20] = "efgh"; const char *const p = str1; p[0] = 'A'; //p가 가리키는 값을 변경할수 없으므로 에러 p = str2; //p의 값(주소)을 변경할수 없으므로 에러 } |