PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2018/02/06 17:28:54
Name 보조밥통
Subject [질문] c언어 질문 드립니다.
#include
void main(){
int num[4] = { 1,2,3,4}
int *pt = num;

pt++;
*pt++ =5;
*pt ++=10;
pt--;
*pt +++=20;

printf("%d %d %d %d ", num[0], num[1] ,num[2] , num[3]);
}

여기서
*pt ++=10; 랑
*pt +++=20; 는 무슨뜻인가요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
18/02/06 17:33
수정 아이콘
*(pt++) = 10;
*(pt++) += 20;
의 의미겠죠? 아마?
보조밥통
18/02/06 17:42
수정 아이콘
그렇게 풀면 답이 나오네요....

답변 감사합니다.....
작은빵떡큰빵떡
18/02/06 17:37
수정 아이콘
++= , +++ = 연산자는 없습니다.
*pt++ = 10;
*pt++ += 20;

이걸겁니다. pt의 데이터 값 공간에 10을 대입하고 pt에 ++을 수행 (다음 메모리 영역으로 이동)
pt의 데이터 값 공간에 20을 더하고 pt에 ++ 연산을 수행

근데 저런식으로 ++ 연산자를 알기 어렵게 쓰는 방식은 추천하지 않습니다. 컴파일러마다 결과가 다르게 나올 가능성이 있어서요.
제 답변은 VS 2015 Community 버전 기준입니다.
보조밥통
18/02/06 17:45
수정 아이콘
(수정됨) 작년 서울시 9급 컴일 문제인데
띄어쓰기가 똑같이 되있습니다.....
에러뱉음 답썼다가 틀렸네요....
답변 감사합니다
시노부
18/02/06 17:39
수정 아이콘
포인터/어레이의 주소 개념과 전치/후치연산 설명하려고 소스를 저렇게 짰나 싶은데 뭔 코드를 저렇게 짰나 싶은데 좀 희안하네요;
----------------------------* <- 여기로 포인터 이동입니다.
pp++ <- 포인터 이동 입니다. num[0][1][2][3]

포인터 앞에 * 이 붙으면 실제 [1] 안에 있는 값을 끄집어낸다는 뜻이니, *pt 안에 5를 집어넣고 포인터를 또 이동시켜서 [2] 로 이동 시킵니다.
*pt++=10; 도 마찬가지 [2] 의 값을 10 으로 변경 한 뒤 [3]으로 이동합니다.
--pt 로 다시 [2]로 복귀
[2] 에 있던 10 + 20 = 30 을 [2]에 담아줍니다. a+=20 입니다. 이후 다시 포인터를 [3] 으로 이동시켜 줍니다.

뭐 이딴 코드가 다있어 싶은데 좀 요약하자면
*pt ++ = 10; 은
num[2] = 10;
pt 를 num[3] 으로 이동

*pt +++=20; 은
num[2] = num[2] + 20 (10 + 20) 이후
pt 를 num[3] 으로 이동

입니다.

출력 결과는 1, 5, 30, 4
보조밥통
18/02/06 17:53
수정 아이콘
++= 랑 +++= 로 붙여써도 되긴 되나 보군요.....
처음 알았네요...

답변 감사합니다..
18/02/06 21:37
수정 아이콘
저런 변태같은 코딩을...
18/02/07 15:08
수정 아이콘
이딴코드는 코드리뷰에서 바로 빠꾸 크크크
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
115818 [질문] 가수 비, 정지훈 키가 어느정도인가요? [47] 성동구25781 18/02/07 25781
115817 [질문] 유럽여행 카메라 질문드립니다. [1] 구아바구아바1829 18/02/07 1829
115816 [질문] 삼천포에서 회 혼자 먹기 + 포장 질문입니다. 안초비1983 18/02/06 1983
115815 [질문] 아웃룩에 연동된 만료된 계정 삭제아닌 작동 정지시키기 [3] 서쪽으로가자2664 18/02/06 2664
115814 [질문] 워싱팩 추천부탁드립니다 램지1828 18/02/06 1828
115813 [질문] (정치)촛불시위 당시 계엄령 선포를 실제로 실행하려 했을까? [10] Sinity2856 18/02/06 2856
115812 [질문] 컴활1급 (실기) 엑셀 공부 방법 질문입니다. [3] 비타에듀2014 18/02/06 2014
115811 [질문] 노트북 구입하려고 합니다. 다음 조건에 맞는 노트북 추천드려요. [4] 올래2144 18/02/06 2144
115810 [질문] [스타1] 히드라만 뽑을수 있는 저그 VS 탱크만 뽑을 수 있는 테란 [24] 라이언 덕후3142 18/02/06 3142
115809 [질문] 여자친구와 1주년 기념 식사 잠실쪽을 생각중입니다 레스토랑 추천 부탁드려요! [3] 그채3569 18/02/06 3569
115808 [질문] 월급 곱하기 몇이면 연봉 나오나요?? [14] Celtics4909 18/02/06 4909
115807 [질문] c++ 관련 질문드립니다. [5] 오클랜드에이스8808 18/02/06 8808
115806 [질문] 임테기 질문입니다. +최초 초음파 보이는시기.. [3] 하우두유두2434 18/02/06 2434
115805 [질문] [헌터x헌터] 레이저라는 캐릭터 질문입니다 [16] 이명헌3946 18/02/06 3946
115804 [질문] 윈도우설치중인데 설치가 진행이안되네요ㅠㅠ [5] 코인괜히시작3726 18/02/06 3726
115803 [질문] . [1] 삭제됨2559 18/02/06 2559
115802 [질문] 안드로이드가 왜 흥했나요? [6] 2401 18/02/06 2401
115801 [질문] 생선가시를 빼내고 목구멍서 미세 출혈이 있습니다 [8] Vertigo2608 18/02/06 2608
115800 [질문] 위쳐3 라이트 유저도 할 만 한가요? [11] 샨티2175 18/02/06 2175
115799 [질문] 설 연휴 강원도여행 무리일까요? [2] 문앞의늑대1958 18/02/06 1958
115798 [질문] 서울 양식 파인다이닝 추천 부탁드립니다! [4] 은구두3279 18/02/06 3279
115797 [질문] [LOL] LCK 최상위권과 중상위권팀의 차이점.. [12] StarLoL사랑3208 18/02/06 3208
115796 [질문] c언어 질문 드립니다. [8] 보조밥통3095 18/02/06 3095
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로