https://blog.naver.com/programmer18


1. 변수에 &을 붙이면 포인터를 얻을 수 있습니다. 

2. 포인터에 *을 붙이면 포인터가 가리키는 데이터를 얻을 수 있습니다. 

3. 포인터에 []을 붙이면, 포인터가 가리키는 위치부터 연속된 데이터를 얻을 수 있습니다. 

4. 포인터의 덧셈과 뺄셈은 단순히 숫자를 더하고 빼는것이 아니라, 포인터를 다음 데이터 위치로 이동시키는 것입니다.  


예시: 

short array[3]; 

short *ptr = array; 

ptr[0] = 0; 

ptr[1] = 10; 

ptr[2] = 20; 


다음과 같이 포인터를 1씩 증가시키면서 *연산자를 써도 같은 의미입니다.  


short array[3]; 

short *ptr = array; 

*ptr = 0; 

*(ptr + 1) = 10; 

*(ptr + 2) = 20; 


다음과 같이 할 수도 있습니다: 

short array[3]; 

short *ptr = array; 

*ptr++ = 0;  

*ptr++ = 10; 

*ptr++ = 20; 


혹은 *(++ptr) 는 전위연산자를 쓸 경우입니다.  


마지막으로 short *ptr = &array[0] 도 short *ptr = array 와 같은 의미입니다. 이것은 array라고 쓰는것과 같은 뜻이됩니다