Release : 비주얼 스튜디오 필요없음
Debug : 비주얼 스튜디오 깔려있어야함
------------------------------------------------------------------------------------------
<< 포인터 >>
↓(포인터) ↓(변수)
● * 여기에 누가 살아
↑(주소) ↑(변수)
● & 너! 어디살아?
↑ (변수) ↑(주소)
※ 이렇게 선언하면 포인터가 일반변수가 된다
int * p , p2;
↑포인터 ↑일반변수
● 포인터 차원?
포인터가 얼마나가야 일반변수가 되나?
&p
p 2차원
*p 1차원
**p 0차원
● 배열이란?
같은 자료형의 연속적인 기억공간 하나의 이름과 인덱스([,])로 변수를 관리한다
● int a[]
운영체제로 부터 메모리 공간 어딘가에 int 정수 4바이트 X 그배열의 크기 만큼의 공간을 연속적으로 할당받고 그앞에 a라는 문패를 만들고 그속에는 각각 쓰레기 값이 들어있다.
● 변수와 배열의 차이
1. 그 연속된 공간의 맨처음 위치
2. 총크기는 타입 크기 X 연속된 개수
3. 배열의 이름 -> 포인터
모두 같은뜻
● int array[10]
int 형 이므로 4바이트 만큼 주소가 건너뛴다.
● 모배열 특징
모배열은 포인트 변수
하지만 주소값을 변경할 수 없다 (상수)
주소값이 바뀌면 배열 위치를 알수 없기 때문
배열상수 == 배열의 이름 == 모배열 == 상수포인터
● A[2]
A
현재 배열의 맨처음 위치를 나타내는 동시에 배열의 이름이 된다. 보통 배열 A라고 부른다
위와 같은 A를 모배열이라고 부른다
[2]
현재 배열에서 이 변수의 위치를 나타내는 수로 0부터 표시되기 때문에 현재 이 변수는 2번째 있는 변수라는 걸 알수 있다
위와 같은 [ ] 안의 수를 인덱스(index) 라고 한다.
● 키포인트
배열 요소들은 언제나 메모리에 연속적으로 저장된다
모배열은 왼쪽 값(L-value)로 사용불가능 하다