IT 대장간
[C]배열과 포인터의 기본 문법 (주소 값 변경 및 이해) 본문
1. 배열의 기본

1) int* ptr_a;
> ptr_a라는 포인터를 생성하였고, a의 주소값 &a로 정의하였다.
2) 주소를 가리키는 ptr_a앞에
*을 붙여 출력할 경우 해당 주소값 담고 있는 변수의 값을 출력한다 (AKA a의 값)

3) a=10 , b=20 이라는 값을 지정한 상태에서 ptr_a라는 포인터에 다른 변수(b)의 주소값으로 변경하여 사용해도 괜찮다


2.포인터를 통한 변수 값 변경
1) 포인터를 통해 해당 포인터가 가리키는 변수의 값을 변경해 줄 수 도 있다.

이를 실행해보면,

: 이렇게 똑같이 a를 출력했을 때 a의 값이 20으로 변경된 것을 알 수 있다.
3. 배열과 포인터기능

배열과 포인터에 대한 이해를 위해
'포인터 배열' vs '배열 포인터' 차이 를 알고가는게 좋다
C언어 '포인터 배열'과 '배열 포인터'의 차이점
주로 포인터와 배열에 처음 입문한 사람들미 많이들 힘들어 하는데 그중 하나가 '배열 포인터'와 '포인터 배열'이다. 저 두개의 말만 보아도 머리가 아파온다 하지만 어떻게 보면 그리 어렵지도
enter.tistory.com

4. 배열 포인터 선언

: 배열 포인터의 선언은 위와 같은 형식으로 진행된다
대괄호를 먼저 연산하는 이유로 소괄호로 앞 덩어리를 묶어서 포인터 선언영역을 명확히 해줌을 의미한다.
5. 주소값 변경

배열 포인터의 역할에 대한 이해를 위해 간단한 연산을 수행하였다.
1) 인덱스 없이 호출할 경우 배열 전체에 대한 호출
2) 배열을 그대로 불러올 경우 자동적으로 인덱스[0]을 호출
3) *arr로 배열의 value값을 호출할 경우 인덱스[0]만 가능 (인덱스 지정불가, 포인터의 존재 이유)
위 세 가지만 이해한다면
기본활용에 있어서 포인터에 대해 쉽게 접근할 수 있을 것이라 생각한다.
------------------------------------------------------------------------------------------------------------------------------
번외 +) 포인터의 역할에 대한 이해 심화

1) ptr을 가리키는 포인터 ptr_ptr 생성 (명령어 int **ptr_ptr = &ptr)
2) *ptr_ptr 은 ptr의 value값 -> ptr = &a로 값을 저장하였으므로 a의 주소값 출력
3) **ptr_ptr -> *(*ptr_ptr) -> *(ptr) -> a의 값(10) 출력
'Programing > C & C++' 카테고리의 다른 글
| 2차원 배열 입력받아 만들기 [INT] (0) | 2021.02.22 |
|---|---|
| 포인터와 배열 [문자] (1) | 2021.02.19 |
| 문자 입력시 '다음 순서의 문자 출력' (1) | 2021.02.17 |
| C언어 기초문법 메모 (0) | 2021.02.10 |
| 빌드 시 콘솔 창 '프로세스 종료' 문구 지우기 (2) | 2021.02.10 |