변수 18

[C언어]22. 변수의 특별한 성질들 -3- ( 정적 변수 , static )

안녕하십니까. 리습입니다. 지역변수와 전역변수를 알아보았고 전역변수를 외부 모듈에서 접근하는 방법도 알아보았습니다. 그런데 간혹 특이한 것이 필요할 때가 있습니다.접근은 지역변수처럼 특정 위치에서만 접근을 가능하도록 하여 안정성을 확보함과 동시에 전역변수처럼 항상 존재하는 그런 변수 말입니다. 이런 두 변수의 장점만을 취한 변수가 존재합니다. 바로 '정적 변수'입니다. 정적 변수 static variable 정적변수가 어떤 것인지 설명하기 전에 정적변수가 필요한 예시를 먼저 소개하도록 하겠습니다. 그래야 이해하기도 싶고 말이죠. 특정 함수가 존재하는데 이 함수가 몇번 사용되었는지 알고 싶다고 해봅시다. 함수내부에 변수를 선언하긴 해야하는데, 지역변수는 그 지역이 사라짐과 동시에 같이 사라지기 때문에 사용..

[C언어]21. 변수의 특별한 성질들 -2- ( 전역변수로의 외부 모듈 접근 )

안녕하십니까. 리습입니다. 전역변수라는 것은 어떤 모듈 내에서 모든 함수들이 접근을 할수 있는 변수 였기 때문에 매우 편리한 변수였습니다. 때문에 함수끼리 데이터를 교환할때 전역변수를 통해서 할수도 있었죠.( 물론 함수간의 데이터 교환은 직접적으로 매개변수를 주는것이 더 좋지만 말입니다.) 그럼 한번 이런 전역변수를 확장시켜 보도록 하겠습니다. 특정 모듈이 아닌 프로그램을 구성하는 모든 모듈에서 한 전역변수에 접근할수 있도록 만들어 보도록 하겠습니다. 그럴때 우리는 지정자(Specifier) 라는 것을 사용합니다. 변수의 특징을 결정하는 지정자. 지정자는 변수의 맨 앞에 붙어서 그 변수의 성격을 정해주는 키워드 입니다. 원칙적으로 함수내에 지역변수를 선언할때에는 auto int a 이런식으로 작성을 해야..

[C언어]17. 변수의 계산방법, 연산자에 대하여 알아보자. -5- ( 연산자 우선순위 )

안녕하십니까. 리습입니다. 지금까지 다양한 연산자를 알아보았습니다. 또한 연산자는 공구와도 같다 라고 말씀드렸습니다. 그런데 여러가지 연산자를 한거번에 쓸경우 사용한 사람과 컴파일러가 다르게 이해할 수도 있습니다. 예를 들어 우리가 2 * 3 + 1 이라고 입력하였을 때 컴파일러는 2 와 3을 곱한후 다음에 1을 더할 것입니다. 하지만 우리의 의도가 3과 1을 더한후 2를 곱하는 것이였다면 우리가 원하는 결과 값을 얻지 못하게 되는 것이지요. 이렇게 컴파일러가 우선적으로 처리하는 연산자의 순서가 있습니다.그것을 연산자 우선순위라고 합니다. 연산자 우선순위 우리가 곱하기를 더하기보다 먼저 계산하고 생각하는 것 처럼 프로그램에서도 연산자에대한 우선순위가 존재합니다. 이 연산자의 순서는 우리가 알고있는 수학적..

[C언어]16. 변수의 계산방법, 연산자에 대하여 알아보자. -4- ( 삼항연산자, 조건연산자 )

안녕하십니까. 리습입니다. 이제 연산자에 대한 것도 마지막입니다. 마지막으로 삼항연산자에 대하여 알아보도록 하겠습니다. 삼항연산자는 연산을 하는데 3개의 항이 필요하다고 해서 붙여진 이름입니다. 또한 많은 종류가 존재하지도 않습니다. 조건연산자 ( ? : ) 조건 연산자는 특정 조건에 대하여 맞는지 틀린지 판독을 한후 그 값을 내보내주는 연산자입니다. 조건식을 쓴후 ? 를 한후에 맞을경우 : 앞의것을 보내주고, 틀릴경우 : 뒤의 것을 보내주는 것입니다. ? : 우리가 질문 하는 것처럼 직관적으로 ? 를 쓰기 때문에 매우 보기에도 좋습니다. 간단한 조건문에는 if문을 쓰는것보다 조건연산자를 쓰는것이 보기 좋을때도 많습니다. ( 절대값을 return 하는 구문이다. 매우 직관적이고 읽기 좋다. ) 연산자는 ..

[C언어]14. 변수의 계산방법, 연산자에 대하여 알아보자. -2- ( 단항연산자 )

안녕하십니까. 리습입니다. 이제 연산자에 대하여 상세하게 알아보도록 하겠습니다. 우선 단항연산자입니다. 단항연산자는 하나의 요소만을 가지고 특정한 작업을 하도록 하는 연산기호 입니다. 즉 단항연산자가 영향을 주는 대상은 단 한가지 라는 것입니다. 그럼 단항연산자를 하나하나 알아보도록 하겠습니다. 이중 아직 우리가 배우지 않은 부분은 간단하게 개념만 설명하도록 하겠습니다. 부호연산자 ( + - ) 부호연산자는 변수를 양의 값을 가질지 음의값을 가질지 결정해주는 연산자입니다. 이렇게 말로 써놓으면 어렵지만 우리는 이미 흔하게 사용하고 있습니다. 변수 A 에 음의 값 -1 을 넣기 위해서 우리는 1의 앞에 - 표시를 해주었습니다. 이것과 마찬가지입니다. 부호연산자를 사용하기 위해선 앞에 -를 넣어주기만 하면되..

[C언어]08. 논리의 풀이를 위한 조건문에 대하여 배워보자. (if, else if, else)

안녕하십니까. 리습입니다. 지금까지 변수 함수 를 배워보았으며 이것으로 기본적인 프로그램을 만들어 보기도 하였습니다. 하지만 무언가 부족했을 것입니다. 지금까지 배운 대로라면 컴퓨터 프로그램이란 위에서부터 써준일을 쭉 하는 것 뿐이기 떄문입니다. 컴퓨터한테 ' ~ 일때 ~ 해라' 라는 것을 시키고 싶은데 지금까지 배운것중엔 그런 것을 표현할수 있는 방법이 없었습니다. C언어에서는 어떤 조건에서 어떤 일을 시키기 위해서 '조건문' 이라는 것을 제공합니다. 또한 이 조건문이라는 것도 우리가 흔히 쓰는 영어와 비슷하기 떄문에 매우 쉽습니다. 우선 기본적인 형태는 다음과 같습니다. 1. : 말 그대로 조건을 적어주는 것입니다. 필요한대로 만들 수 있습니다. 조건이 옳을 경우 if..

[C언어]05.[실습] 변수를 이용하여 숫자를 보여주는 프로그램를 만들어보자. (C언어 프로그래밍)

안녕하십니까. 리습입니다. 프로그램의 구조를 익혔으니 이제 예제를 만들어보도록 하겠습니다.. 간단한 숫자를 보여주는 프로그램을 만들 것입니다. 아직 컴파일러에도 친숙하지 않으니 지난번 과정을 다시 복습해보면서 처음부터 해보도록 하겠습니다. 프로그램을 만들자 (1)프로그램을 실행한후 상단의 파일->새로 만들기->프로젝트 를 클릭합니다. (2)왼쪽 설치된 템플릿 에서 'Visual C++'을 클릭하고 'Win32 콘솔 응용 프로그램'을 클릭합니다. 아래 이름 에는 num_print 를, 위치에는 C:\C_language 를 입력합니다. 위치는 찾아보기를 클릭한후 C드라이브에 C-language 라는 폴더를 만든 후 지정해도 됩니다. (3)'Win32 응용 프로그램 마법사'가 나타나는데 첫화면에선 다음을 클릭..

[C언어]04. 기억을 할수 있는 공간. 변수에 대하여 알아보자

안녕하십니까. 리습입니다. 커다란 매장을 생각해 봅시다. 매장에서 물건을 전시하기 위해선 전시하기 위한 공간이 필요합니다. 전시하기 전에 물건을 쌓아 놓기 위한 창고도 필요합니다. 우리는 이런 공간이 필요하다는 것을 잘 알고 있습니다. 프로그램도 마찬가지입니다. 어떠한 입력을 받고 보여주기 위해선 각각의 공간이 필요합니다. 이것이 바로 '변수' 라는 것입니다. 변수는 공간이다. 변수는 어떠한 공간을 뜻합니다. 여기서 중요한건 공간 이라는 것입니다. 두번이나 반복해서 말했지만 정말 중요한건 변수가 공간이라는 겁니다. 변수는 무언가를 담고 있는 상자일 뿐입니다. 용어가 변수라서 수학의 변할수 있는 수라는 의미의 변수와 햇갈리수 있지만 전혀 다른 용어입니다. 잘 기억하셔야 합니다. 이것만 기억하셔도 변수의 9..