*의 기능
- 두 개의 변수 혹은 상수 사이에 위치하게 되면 곱하기
- 변수 *가 선언문에서 변수 타입 뒤에 붙으면 “포인터형 변수” 선언을 뜻함
- *가 일반적인 구문에 오면서 두 개의 변수 혹은 상수 사이에 위치하지 않는다면, “역참조” 즉 포인터형 변수가 가리키는 메모리 주소에 저장되어 있는 내용을 이야기함
1 int i = 3; // 정수형 변수 i를 선언하고 3으로 초기화
2 int *j = &i; // 정수 포인터형 변수 j를 선언하고 i 의 주소값을 넣는다.
3 *j = 4; // j의 역참조값에 4를 넣는다. 즉 여기서 i 는 4가 된다.
&의 기능
- &가 두개의 변수 사이에 있을 때, 혹은 상수 사이에 위치하게 되면 비트연산(AND) 기능을 한다.
- &가 선언문에서 변수타입 뒤에 붙으면, “별명”을 선언한다는 뜻 참조자 (c++에서만 가능)
- &는 변수의 메모리 주소값을 이야기 한다.
참고자료