C Pointer
[CPP Reference Type](https://texonom.com/cpp-reference-type-e14b91fc42144c32960dadf2b217dd50) [Pointer](https://texonom.com/pointer-a0542ed9a26a41d5947e22f238147230) 


## Memory address of a variable
C languages can make both object and pointer. but high level language can make pointer variable only, can not create the object itself
like [CPP Reference Type](https://texonom.com/cpp-reference-type-e14b91fc42144c32960dadf2b217dd50) understand as two ways of usage


### Type
must be before each variable when declaration
```typeint *p1, *p2, v1, v2;*p1 = v1```
### Operator
Dereference operator is** access to the address**
- * - Dereference operator
값에 직접 접근하는게 아니라 주소를 이용해 간접적으로 접근해서 간접(indirect) 연산자라고 한다
어떤 변수에 대하여 참조를 하기 위해서 역참조를 할 필요가 있는 게 포인터이고 그럴 필요가 없는 게 레퍼런스라는 게 둘의 차이
score 를 참조한 후 참조하는 놈이 값에 접근해서 역참조
```typeint *p1, *p2, v1, v2;v1 = *p2```


[C Pointer Arithmetic](https://texonom.com/c-pointer-arithmetic-03469aa7ddff46bfb53cb72940a24db7)




> [[ C ] 포인터 이해하기2_참조와 역참조/ 역 참조 연산자 *](https://bite-sized-learning.tistory.com/265)





