본문 바로가기

My Cosmos

배열 배열 변수는 하나의 저장 공간, 배열은 연속적인 저장 공간을 나타낸다. 하나의 이름으로 여러개의 변수를 사용하는 것과 같은 효과를 가질 수 있어 편리하다. Ex> int a1, a2, a3; => int a[3]; 이처럼 간편하게 사용 가능하다. 선언 방법은 변수와 같이 자료형 변수이름 그리고 뒤에 대괄호([])와 몇개의 공간을 사용할 것인지 명시해주면 된다. Ex> int a[5]; // a라는 배열을 만들고 int형 자료를 5개 저장할 수 있다. 각각의 저장 공간은 다음과 같이 사용한다. Ex> a[0]. a[1], a[2], a[3], a[4] 배열 이름 뒤에 대괄호 안에 있는 숫자는 첨자라고 하며 배열의 첨자는 0부터 시작한다. 그러므로 선언시 명시한 크기 값보다 하나 작은 값이 배열의 맨 끝이다.. 더보기
포인터 변수 - 1 포인터 변수 - 1 포인터 변수는 말그대로 변수를 가리키는 변수, 주소를 자료형으로 갖는 변수다. 전에 변수 설명에서 변수는 메모리 공간 특정 위치에 저장공간을 할당받는다고 했었다. 그리고 그 안에 값을 넣을 때 변수의 이름을 가지고 접근을 한다. 하지만 그외에 접근 방법이 없을까? 그것이 바로 포인터 변수이다. a라는 변수가 있는데 그 안에 값을 쓸 떄 변수 이름을 가지고 메모리 공간에서 그 변수의 위치를 찾아가도 되고, 이름이 아닌 변수의 위치 = 주소를 가지고 찾아가서 쓸 수 있다는 말이다. 포인터 변수는 주소를 값으로 가진다. 자료형에 상관 없이 4바이트의 크기를 가진다. Ex> int a = 0; // a를 메모리 공간에 할당. int *p = &a; // a의 주소를 포인터 변수 p에 저장. .. 더보기
네임스페이스 네임스페이스 말그대로 이름 공간. 어떤 지역에 이름을 붙이고 그안에 있는 것들을 소속시키는 것이다. 옛 속담에 서울가서 김서방 찾기라는 말이 있다. 서울에 무수히 많은 김서방중에 자신이 찾는 김서방이 누구인지 정확하게 명시해줄 수 있는 것이 이 네임스페이스이다. 서울에서도 어느 구 어느 동 몇번지에 사는 김서방. 이렇게 찾는다면 어떤 김서방인지 정확히 알 수 있다. Ex> namespace 이름 { 선언 내용; } 이름은 변수 이름 정의 형식과 같다. 위치는 메인함수 내부가 아닌 파일 선언부에서 사용해야한다. -소스 코드 예시 namespace seoul { int kim = 0; } int main(void) { int kim = 1; std::cout 더보기
반복문 반복문 특정한 조건을 만족하는 동안 반복해서 실행하는 것을 말한다. 반복문에는 for문, while문, dowhile문이 있다. for문 Ex> for(초기화; 조건문; 증감문) { 반복할 내용; } 이 for문의 경우도 반복할 내용이 두 줄 이상인 경우 if문처럼 괄호로 범위를 묶어주는 것이 좋다. for문의 실행 순서 1. 초기화를 실행한다. 2. 조건문을 실행한다. 조건이 참일 경우 for문 안에 내용을 실행하고 거짓일 경우 반복문을 종료한다. 3. 반복할 내용을 실행한다. 4. 증감문을 실행한 후 2번부터 반복한다. for문 안에 초기화, 조건문, 증감문은 생략이 가능하며 이 세가지는 ;으로 구분을 짓는다.(단 조건문이나 증감문을 생략하는 경우 무한 루프에 빠질 수 있기 때문에 유의해서 사용하자... 더보기
조건문 switch switch문 switch문도 if문처럼 조건문이다. 하지만 사용법은 조금 다르다. if문의 조건은 논리에 따른 조건이었다면 switch는 조건의 값만을 가지고 판단을 한다. Ex> switch(조건) { case 1: { 조건 값이 1일 때 실행 내용. } case 2: { 조건 값이 2일 때 실행 내용. } ..... default: { 모든 조건이 맞지 않을 때 실행 내용. (if문의 else와 같은 역할.) } } 위에 조건은 변수나 나중에 배울 함수의 리턴 값을 사용할 수 있다. if문과 다른 점은 위에 괄호로 구역을 구분지었지만 case안에 내용은 구분을 짓지 않아도 구분을 한다. case 뒤에 붙는 숫자 1은 조건의 결과 값이 1일 때를 나타낸다. 1이 아닌 다른 값이 되어도 상관이 없으며 .. 더보기
조건문 - if 조건문 조건문이란 조건에 따라 상황을 판단해서 그 상황에 맞는 행동을 하도록 하는 것이다. 조건이 참일 때 아님 거짓일 때 실행 할 코드를 작성하면 그에 맞게 실행을 한다. 논리연산자 !를 사용하거나 == false 를 사용해서 거짓이 맞을 때(결국 조건이 참일 때)로 설정을 할 수도 있다.(if문에 한해서) if문 조건의 결과는 참 아니면 거짓이다. 조건이 참일 때 거짓일 때 등 여러 형태로 사용할 수 있다. 형태는 세가지가 있다. 간단한 if(), else if(), else Ex> if(조건) { 조건이 참일 때 실행 내용. } 먼저 if는 조건이 참일 때 {}안에 내용을 실행한다. 괄호를 쓰지 않아도 되지만 쓰지 않을 경우 예시를 들어주면 다음과 같다 - 소스 코드 예시 int a = 0; if(.. 더보기
연산자 - 연산자 컴퓨터 언어에서 제공되는 자료형과 가장 밀접한 관계를 갖는 것 중의 하나가 연산자이다. 그 이유는 연산 대상과 연산 결과가 저장되는 자료형에 따라 연산 결과가 결정되기 때문이다. = 등호의 의미. 대입연산자라고 하며 일반적인 수학에서의 등호와는 다른 의미를 가지고 있다. 오른쪽에 있는 것을 왼쪽에 대입해라, 할당하라 라는 뜻이다. Ex> int a = 5; => int a에 5를 넣어라. 라는 뜻. 왼쪽에는 변수가 위치할 수 있고 등호 오른편에는 변수와 상수 둘다 가능하다. 상수는 변경할 수 없는 값이기 때문에 등호 왼족에 위치할 수 없다. 10 = a; 라고 쓴다면 다음과 같은 에러가 뜬다. 초기화 프로그래밍에서 가장 중요하고 기초가 되는 초기화를 알아보자. 변수는 메모리 공간에 어느 지점을.. 더보기
형 변환 - 형 변환 자료형은 프로그램에서 사용되는 변수와 상수에 대한 규정이다. 그렇다면, 한번 정해진 자료형은 변환할 수 없는가? 그렇지 않다. 일시적으로 형을 변환시키는 명시적 형 변환이라 한다. - 소스 코드 예시 int a = 10; float b = 5.0f; a = b; 컴파일 시 경고가 뜬다. 자료형이 일치하지 않기 때문에 경고가 발생한다. 이때 형 변환을 하면 경고가 사라진다 a = b => a = (int) b; (변환할 자료형) 변환할 변수나 값; 경고가 사라진 것을 볼 수 있다. 변수이외에 상수에도 형 변환이 가능하다. Ex> int a = (int) 10.0f; 하지만 이건 너무 실용적이지 못한 행동이니 자제하자. 그렇다면 명시적 이외에 암묵적 형 변환은 연산시에 서로 다른 자료형인 경우 .. 더보기
데이터, 기본 자료형 - 데이터 프로그램을 작성한다는 것은 일련의 데이터를 처리하는 것. 즉, 복잡한 계산을 하거나 많은 양의 데이터를 처리하는 등의 일을 수행하는 프로그램을 만드는 것이다. 이때 프로그램의 작업 대상은 데이터이다. 따라서 프로그램을 작성할 때 가장 먼저 해야 할 일은 대상 데이터를 저장할 변수와 변수에 저장되는 데이터 성격을 결정하는 것이다. '성격'이란 데이터 특성에 따른 컴퓨터의표현이나 저장 방식으로, 숫자인가 문자인가 또는 숫자라면 정수인가 소수점이 있는 실수인가 등을 구분하는 것이다. 앞서 변수 설명에서 변수명 앞에 붙어있던 것을 데이터타입, 자료형이라고 하는데 이 자료형이라고 하는 것이 이 변수가 어떤 값을 저장하는 변수인지를 지정하는 것이다. 자료형마다 컴퓨터에서 데이터를 표현하는 방법과 할당된 .. 더보기
변수와 상수 - 변수 간단히 말하면 변하는 수, 프로그래밍에서 변수는 좀 더 다른 의미를 내포하고 있다. 변수는 데이터가 저장된 메모리 공간의 특정 위치를 의미한다. 이 특정 위치에 이름을 지정하고 그 곳에 값을 저장하여 사용 하는 것이다. 변수는 프로그램이 실행되면서 변하는 값을 저장해 놓는데 쓰인다. 간단히 게임을 예를 들면 처음 캐릭터를 만들어서 물약을 5개를 받았는데 게임을 하다보면 물약을 얻기도 하고 먹기도 할텐데 이 그때그때 변하는 물약의 수를 저장하는데 사용하는 게 변수라고 생각하면 된다. 변수를 사용하려면 선언이라는 것을 해야한다. 선언이란 컴퓨터에게 변수를 쓸 것이니 알아두라고 하는 것과 같다. 그럼 컴퓨터가 보고 변수가 필요하겠구나 하고 메모리 공간에 할당을 해놓는다. 변수의 이름은 몇가지 규칙을 .. 더보기