강좌 & 팁
글 수 2,412
C언어가 어렵다는 분의 얘기를 들어 보면 포인터가 가장 어렵다고 합니다.
그러나 포인터뿐만 아니라 다른 언어와 다른 C언어의 특성 때문에 어렵기도 합니다.
예를 들어 다른 언어에서는 문자열 변수에는 문자열을 넣지만,
C언어는 char 변수라고 해서 문자만 넣는 것이 아니라 숫자로 자유롭게 넣을 수 있습니다.
즉, C언어는 문자열이다, 정수다 구분하지 않고 변수 타입별로 몇 바이트 크기의 변수이냐로
구분된다는 것을 이해하셔야 C언어가 쉽습니다.
또한, C언어의 [] 도 하나의 연산자라는 것도 이해하셔야 하겠습니다.
[] 문자로 배열을 만들지만, 다른 언어와 달리 연산자입니다.
연산자 우선 순위에도 []는 당당히 1 순위입니다.
그래서 아래와 같은 표현이 가능하죠.
a[35] = 100;
이 표현을
35[a]
로 가능합니다.
즉, []는 연산자로 a 배열 주소에 35을 더해서 35번째 요소를 구하나
35에 a 배열 주소를 더하나 같은 값은 요소를 구하게 되는 것입니다.