티스토리 뷰

Coding/C

pointer 와 선치, 후치 연산자

빠리빵 2018. 5. 20. 13:25

// pointer 와 선치 후치 연산자 // source.cpp #include

#include int main() { int cnt = 0; char *p = "Embedded"; while (*p) { if (*p++ != 'd') { // *++p 의 경우와 비교를 한다. cnt++; } else { break; } } printf("%d\n", cnt); system("pause"); } /* 출력 : 4 *p++ 같은 경우에는 먼저 내용을 꺼내고 p를 증가시킨다. -> E부터 비교 *++p 경우에는 먼저 주소를 증가시키고 그 주소의 내용을 꺼낸다. -> 이 경우에는 m부터 비교 -> 출력 : 3 (*p)++ 경우에는 먼저 내용을 꺼내고 내용의 결과를 1 증가시킨다. */ // 추가로 (*p)++ 을 하면 메모리 엑세스 위반이 발생한다. 그 이유는 문자열은 상수로 할당되기 때문에 값을 변경하려고 하면 오류가 발생하는 것이다. 따로 배열을 만들거나 메모리 할당 후 사용은 가능하다.


'Coding > C' 카테고리의 다른 글

little endian과 big endian  (0) 2018.05.22
포인터의 연산  (0) 2018.05.22
static 및 extern // case03  (0) 2018.05.20
static 및 extern // case02  (0) 2018.05.20
static 및 extern // case01  (0) 2018.05.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함