본문 바로가기

프로그래밍75

c언어 범위 별 변수 차이를 알아보자 (identifier scope) c언어를 하다보면, 분명히 위에서 num이라는 변수의 값은 5였는데, 어떤 부분에서는 값이 달라져서 프로그램이 꼬이는 경우가 생기는 경우가 있습니다. 보통, 이러한 경우는 같은 변수명을 사용할 경우에 종종 발생합니다. 하지만, 어떤 경우에는 같은 변수명을 써도 값이 달라지지 않는 경우도 있습니다. 그 이유는 c언어는 범위에 따라 같은 변수를 사용해도 다르게 인식하도록 설계되어 있기 때문입니다. 이번 포스팅은 범위 별로 변수를 어떻게 사용하는 지에 따라 같은 변수명을 사용해도 다르게 인식하는 케이스를 정리하려고 합니다. c언어의 범위(Scope) 서론에서 말했듯이, c언어는 범위(scope) 안에서 같은 변수명이라도, 다른 변수로 인식하도록 설계되어 있습니다. 크게, c언어는 4가지 정도의 범위 종류로 나.. 2019. 7. 17.
[C/C++] unsigned char 타입에 음수를 넣은 값이 signed short, int로 형변환 하면 이상한 값으로 변하는 이유 혹시, 프로그래밍을 하다가 분명히 unsigned char 타입에 음수를 넣었는 데, signed short이나 int로 형변환하니 이상한 값으로 변하는 경우를 경험하신 적이 있으신가요? 혹은 signed에서 unsigned로 넣었을 경우는 있으신가요? 이미 경험이 있으시다면 그 이유도 아시고, 이후 프로그래밍에서는 조심하려고 하실 것으로 생각합니다. 이 문제는 프로그램이 복잡하다면, 생각보다 찾기 힘들 수도 있기 때문에 코드를 짤 때 주의해야 하는 부분이라고 생각합니다. 그래서 이번 포스팅으로 정리해놓으려고 합니다. 또한, 이게 무슨 문제를 일으킬 지 모르시는 분들을 위해서도 글을 씁니다. 그럼, 바로 설명으로 들어가도록 하겠습니다. 들어가기 전에.. 포스팅을 위해 작성한 예제에 대해서 간단하게 typ.. 2019. 7. 6.
[JavaScript] 자바스크립트 연산자 정리(연산자 우선순위, 대입 연산자) 자바스크립트 연산자 정리 관련해서, 마지막 포스팅이 될 것 같습니다. 총 3편으로 나누어서 포스팅하였으니, 비교, 산술, 비트, 논리 연산자에 대해서 글을 읽고 싶은 분은 아래 링크를 참고해주세요. [JavaScript] 자바스크립트 연산자 정리(비트, 논리 연산자) [JavaScript] 자바스크립트 연산자 정리(비교, 산술 연산자) 혹시나, 이 글을 처음 접하는 분이 계실지도 모르기 때문에, 반복해서 연산자의 중요성을 씁니다. 일단, 프로그래밍을 처음 접하게 되면, 문법 중에서 연산자를 가장 먼저 접하지 않을까 싶습니다. 그만큼, 연산자는 중요하고, 쉬우면서, 많이 사용하는 문법 중 하나라고 할 수 있습니다. 또한, 프로그래밍 언어 대부분이 비슷한 연산자를 사용하기 때문에, 연산자에 대해서 한번씩만 .. 2019. 6. 30.
[JavaScript] 자바스크립트 연산자 정리(비트, 논리 연산자) 프로그래밍 문법 중에서 가장 기본이 되는 부분은 당연히 연산자 사용 방법이라고 생각합니다. 그만큼, 사용하는 것에 있어서 어렵지 않지만, 잘 써야하고, 많이 쓰는 부분이기 때문입니다. 이번 포스팅은 저번에 이어서 비트 및 논리 연산자에 대한 정리를 하려고 합니다. 혹시나, 비교 또는 산술 연산자에 대해 궁금하신 분은 아래 글을 참고해주시면 좋을 것 같습니다. [JavaScript] 자바스크립트 연산자 정리(비교, 산술 연산자) [JavaScript] 자바스크립트 연산자 정리(연산자 우선순위, 대입 연산자) 이전에도 말했지만, 연산자 부분의 문법은 자바스크립트 뿐만 아니라, 프로그래밍 언어라면 모두 존재하고, 또한 사용하는 방법이 비슷합니다. 따라서, 한번만 이해하면, 이후부터는 어느 언어든 약간의 차이만.. 2019. 6. 30.