C언어 배열과 포인터 문제
by 으렴
위 문제에서 출력될 값을 맞추세요.
정답<
1. 괄호 안 P는 주소값이다 주소값에 1을 더하면 다음 번지주소가 나온다 그래서 a[1]의 값이 튀어나온다.
2. a[0]의 값 그대로 나온다.
3. a[0] 값을 출력하고 난 다음 값에 1을 더한다.
4. a[0]에다 이전에 ++한 값을 출력한다.
5. a[0]의 값에 1을 더한 값을 출력한다.
6. 위 그대로이다.
7. 전위 연산으로 p는 주소 값이므로 주소값에 1을 더한 a[1]번째의 값이 대입된다. 여기서 부터 이제 *p는 a[1]이다.
8. a[1]값이 나온다.
9. a[1]의 값에서 1을 더한 것이 나온다.
10. 그대로 나온다.
11. 포인터를 읽기전에 p의 주소와 ++을 먼저 읽는다.
(여기서 a[1]의 값이 나오지만 포인터는 a[2]로 옮겨졌다.)
12. a[2]의 값이 나온다.
13. a[2]의 값에 전위 연산 ++을 한 값이 나온다.
14. 위 그대로이다.
예전에 C를 공부 할때 오지게 했던 것이다. 다시 기억하는 겸 써 봤다.
포인터로 C의 재미를 알게되었는데 감회가 새롭당 꺌꺌
'Programming Language > C and Cpp' 카테고리의 다른 글
C언어 배열과 주소 표현식에 대해 아라보자 (0) | 2019.05.18 |
---|---|
Single Linked List만들기 (0) | 2019.05.17 |
C++ String 구현 해 보기 (0) | 2019.02.21 |
C언어로 버블 정렬 구현하기 (0) | 2019.02.01 |
C++ 복사 생성자 (0) | 2018.03.16 |
사이트의 정보
코딩하렴
으렴