포인터란, 말 그대로 "무언가를 가리키는 것" 입니다.

일상 생활에서 "저것좀 갖고와바" 와 같이 말 할때, "저것"이 포인터입니다.

 

흐음... 대충 어느 물건의 있는 장소 라고 아시면 될 것 같습니다.

포인터를 지정해줄 땐 * 를 이용해서 쓰고, 변수형과 변수명 사이에 어디에 넣든 상관없습니다.

예시) int* a, int * a, int *a

일단 한번 아래를 따라 쳐 봅시다.

void main()
{
    int a = 10;
    int * b;


    b = &a;

    printf("%d\n", a);

 

    printf("%d\n", b);

    printf("%d\n", &a);
}

 

이걸 실행해 본 결과

맨 위에서 부터 a에 들어간 정수값, a의 주솟값의 정수형, a의 주솟값의 정수형 이렇게 됩니다.

 

즉, 10 이라는 숫자를 건네준 자리의 위치값입니다.

 

네비게이션에서도 "전방 100m 좌회전 입니다" 이러면 "전방 100m"가 포인터 입니다.

 

그리고 좌회전이 위의 코드에선 10 이라는 값이 되는것이죠.

 

포인터는 기본적으로 어려우니까 직접 해보면서 이해해보는게 중요해요.

'프로그래밍 > C, C++ ' 카테고리의 다른 글

C, C++ 기초 - 생성자, 소멸자  (0) 2020.05.06
C,C++ 기초 - 클래스  (0) 2020.05.06
C, C++ 기초 - 함수  (0) 2019.08.25
C, C++ 응용 - for문 별그리기  (0) 2019.05.21
C, C++ 기초 - 반복문 (for, while)  (0) 2019.05.06
Posted by 서융
:

함수, 즉 "function" 에 대해서 학교 수학시간에 들어본 적 있으시죠?

 

혹시 하는 일도 기억하시나요?

 

어떠한 숫자를 넣으면 계산된 값이 나오는 신기한 상자같은 공간이죠?

 

프로그래밍에서도 같아요.. 일단 아래의 코드를 볼까요?

 

int plus(int x, int y)

{

    return x + y;

}

int main()

{

    int a = 0;

    a = plus(10, 5);

    printf("%d", a);

    return 0;

}

 

뭐하는 코드처럼 보이나요?

 

plus 라는 함수 안에 들어간 두 수를 합쳐서 a라는 변수에 넣어주는 코드에요.

 

그러면 a는 초기화해뒀던 0이 아니라 15가 되겠죠?

 

함수는 int형 뿐 아니라 void 나 string 등등 여러가지 변수형으로 만들수있어요.

 

하지만 한가지 주의해야 할 점으로는 함수를 선언할때 앞에 적은 변수형과 같은 형태로밖에 내보내지를 못해요.

 

정수형으로 함수를 만들면 정수형으로 return, 문자형은 문자형으로 return해줘요.

 

이 부분을 주의하며 하시면 함수부분은 딱히 어려운게 없어요.

'프로그래밍 > C, C++ ' 카테고리의 다른 글

C,C++ 기초 - 클래스  (0) 2020.05.06
C, C++ 기초 - 포인터  (0) 2020.04.20
C, C++ 응용 - for문 별그리기  (0) 2019.05.21
C, C++ 기초 - 반복문 (for, while)  (0) 2019.05.06
C, C++ 기초 - scanf, if, switch문  (0) 2019.05.03
Posted by 서융
:

이번 강의는 별그리기를 할거에요.

 

결과는

 

*

**

***

****

*****

 

이렇게 되도록 해볼게요.

 

저렇게 삼각형을 그리려면 x축과 y축을 동시에 다루기 때문에 for문을 이중으로 적어줘야 돼요.

 

for(int x = 0; x < 5; x ++)

{

    for(int y = 0; y < x; y++)

    {

    }

}

 

이렇게 이중으로 적어주셔야 합니다.

 

그러면 바깥쪽 for문에 있는 변수 x에 따라서 안쪽 for문의 반복 횟수가 변경되죠?

 

그러면 이 방법을 이용해서

 

안쪽 for문에 printf("*");를 적어주시고 안쪽 for문의 아랫부분에 줄바꿈으로 printf("\n");을 적어주시면

 

위에 적혀있는 결과가 나올거에요.

 

완성 코드는

 

for(int x = 0; x < 5; x ++)

{

    for(int y = 0; y < x; y++)

    {

        printf("*");

    }

    printf("\n");

}

 

이렇게 됩니다.

 

다음 강의는 함수에 대해 쓰도록 하겠습니다.

'프로그래밍 > C, C++ ' 카테고리의 다른 글

C, C++ 기초 - 포인터  (0) 2020.04.20
C, C++ 기초 - 함수  (0) 2019.08.25
C, C++ 기초 - 반복문 (for, while)  (0) 2019.05.06
C, C++ 기초 - scanf, if, switch문  (0) 2019.05.03
C,C++ 기초 - 변수와 자료형  (0) 2019.04.15
Posted by 서융
:

오늘 알려드릴 것은 반복문 이에요.

 

Hello World를 5번 연속으로 쓰려면 반복문 없이는 printf("Hello World"); 를 5번 써야하죠?

 

하지만 반복문을 이용하면

 

for(int i = 0; i < 5; i++)

{

    printf("Hello World");

}

 

라고 치면 5번 연속으로 Hello World라고 나오게 되죠.

 

for문

 

for문은 위에 예제에서 본 것처럼 사용하는 거에요.

 

for(시작하는값;끝나는값;증가나 감소수치)

 

이렇게 쓰는거에요.

 

예제에서는 증가나 감소값이 ++이었는데 ++이나 --는 1씩 늘거나 줄어든다는 의미에요.

 

그리고 중괄호 안에 있는 내용을 반복하게 되는거에요.

 

while문

 

while문은 for문이랑 조금 달라요.

 

한 세트로 '무조건' break가 있어줘야 해요.

 

while(true)

{

    break;

}

 

위에 처럼 중괄호 안에 break가 들어가 있어주고, for문보다 더 구체적인 상황에 반복을 종료할 수 있어요.

 

int i = 0;

while(true)

{

    printf("Hello World");

    if(i>5)

        break;

    i++;

}

 

이렇게 적으면 위에 적힌 for문이랑 같은 결과가 나와요.

 

나중에 쓸거긴 한데 게임같은걸 만들때 while문을 이용하는 경우가 많아요.

'프로그래밍 > C, C++ ' 카테고리의 다른 글

C, C++ 기초 - 함수  (0) 2019.08.25
C, C++ 응용 - for문 별그리기  (0) 2019.05.21
C, C++ 기초 - scanf, if, switch문  (0) 2019.05.03
C,C++ 기초 - 변수와 자료형  (0) 2019.04.15
C, C++ 기초 - "Hello World"  (0) 2019.03.15
Posted by 서융
:

이번엔 간단한 키보드 입력을 받아볼거에요.

 

scanf란?

 

stdio 헤더파일에 들어있는 키보드 입력을 받아낼 수 있는 함수에요.

 

사용법은 scanf("자료형", 변수이름); 이에요.

 

사용 예시 코드

 

#include<stdio.h>

int main()

{

    int i;

    scanf("%d", i);

    return 0;

}

 

이렇게 쓰면 정수형 입력을 받아내는 코드가 완성된것입니다.

 

하지만 이렇게 쓰면 아마 오류가 나올거에요.

 

그런경우는 scanf_s로 바꿔주면 될거에요.

 

if문, switch문의 차이

 

둘의 공통점은 변수의 상황에 따라서 다른 명령을 실행한다는 것입니다.

 

if문은 세트로 else if, else문이 있습니다.

 

else if 는 위에 if문이 아닐경우 여기로 들어오게 되고, 같은 변수로 다른 값이 들어올 경우 사용합니다.

 

else if 문도 아닌 나머지 전부의 상황을 통틀어서 else 문으로 사용할 수 있습니다.

 

사용 예시 코드

 

#include<stdio.h>

int main()

{

    int i;

    scanf_s("%d",i);

 

    if (i==0)

    {

        printf("i가 0입니다");

    }

    else if (i > 0)

    {

        printf("i가 양수입니다.");

    }

    else

    {

        printf("i가 음수입니다.");

    }

    return 0;

}

 

switch문의 경우에는 변수를 범위로 지정 못합니다.

 

하지만 if문에 세트로 있는 else문과 비슷한 형식으로 switch문에도 default 라고 있습니다.

 

그리고 switch문을 쓰려면 반드시 기억하고 있어야하는 점이 있습니다.

 

break; 를 꼭 적어야 switch문이 제대로 작동합니다.

 

사용 예시 코드

 

#include<stdio.h>

int main()

{

    int i;

    scanf_s("%d",i);

 

    switch(i)

    {

        case 0:

            printf("i가 0입니다");

            break;

        default:

            printf("i가 0이 아닙니다.");

            break;

    }

    return 0;

}

 

둘다 예시에선 정수값으로 사용했지만 bool 형식이나 char 형식, 그 외에 여러가지 형식들로 다 사용이 가능합니다.

 

상황에 따라 더 편한거로 쓰시면 될거에요.

'프로그래밍 > C, C++ ' 카테고리의 다른 글

C, C++ 기초 - 함수  (0) 2019.08.25
C, C++ 응용 - for문 별그리기  (0) 2019.05.21
C, C++ 기초 - 반복문 (for, while)  (0) 2019.05.06
C,C++ 기초 - 변수와 자료형  (0) 2019.04.15
C, C++ 기초 - "Hello World"  (0) 2019.03.15
Posted by 서융
:

변수란?

 

간단히 생각하면 "변하는 수" 라고 생각하시면 이해가 빠르실거에요..

 

상황에 따라 값을 변경시키며 그 값을 받아올 수 있어요.

 

변수를 선언해 주기 위해선 먼저 자료형을 알아야 해요.

 

자료형은 무엇인가?

 

말 그대로 자료의 형태에요.

 

프로그래밍에서의 자료의 형태는 주로 정수형, 실수형, 문자형 등등 여러가지가 있어요.

 

이름 서식 문자열 바이트(byte) 최소 최대
char %c 1 -128 127
short %d 2 -32,768 32,767
int %d 4 -2,147,483,648 2,147,483,647
long %ld 4 -2,147,483,648 2,147,483,647
float %f 4 3.4E-38 (-3.4*10^38) 3.4E+38 (3.4*10^38)
double %lf 8 1.79E-308 (-1.79*10^308) 1.79E+308 (1.79*10^308)

변수 선언 방법

 

int a = 0;

 

이렇게 하면 변수 하나가 생긴거에요.

 

a라는 변수에 0이라는 값을 집어넣어준거죠.

 

char b = 'C';

char d = 67;

printf("%c, %c, %d", b, d, b);

 

라고 하고 실행시키면 C, C, 67이 나오죠 ?

 

어때요? 쉽죠??

 

오늘 강의는 여기까지 하도록 하구 .....

 

아 맞다 !!

 

자료형은 위에 적혀있는거 말고도 string(문자열), bool(불리언) 등등 여러가지 많아요 ~

 

혹시 하시다가 모르겠는거 있으시면 카카오톡 링크로 물어봐주세요 ~

'프로그래밍 > C, C++ ' 카테고리의 다른 글

C, C++ 기초 - 함수  (0) 2019.08.25
C, C++ 응용 - for문 별그리기  (0) 2019.05.21
C, C++ 기초 - 반복문 (for, while)  (0) 2019.05.06
C, C++ 기초 - scanf, if, switch문  (0) 2019.05.03
C, C++ 기초 - "Hello World"  (0) 2019.03.15
Posted by 서융
: