포인터
메모리의 주소값을 저장하는 변수
포인터 선언
type *pointer_name
포인터 선언 후 참조연산자를 사용하기 전에 포인터는 반드시 먼저 초기화되어야 한다.
그렇지 않으면 의도하지 안ㅍ은 메모리의 값을 변경하게 된다.
포인터 연산자
- &(주소 연산자) : 변수의 이름 앞에 사용하여 해당 변수의 주소값 반환
- *(참조 연산자) : 포인터의 이름이나 주소 앞에 사용하여, 포인터가 가리키는 주소에 저장된 값 반환
다중 포인터
포인터를 가리키는 포인터를 다중 포인터라고 한다
*의 개수가 늘어난다.
- **ptr : 이중 포인터
- ***ptr : 삼중 포인터
포인터 연산
ex) *(ptr + 1)
1을 더했지만 해당 포인터의 자료형에 해당하는 byte가 곱해져 더해지는 것이다.
메모리를 가리키므로 int 형이라면 1*4 되어 더해지는 것이다.
즉 자료형의 크기만큼 더하거나 뺀다.
배열
배열명은 배열의 시작 주소다.
배열명이 일종의 포인터인 것이다.
포인터 함수
함수도 포인터로 가리킬 수 있다.
참고 URL
'42SEOUL' 카테고리의 다른 글
[C] 전처리기, main() (0) | 2021.10.26 |
---|---|
[C] str 함수 (0) | 2021.10.12 |
[C] extern (0) | 2021.10.09 |
[Linux / shell] 명령어2 (0) | 2021.10.08 |
[Linux / Shell] 명령어1 (0) | 2021.10.06 |