Markdown이란 

마크업 언어의 일종으로

읽기도, 쓰기도 쉬운

언어를 지향합니다.

확장자는 .md입니다.

주로 github의 readme.md

파일에 자주 사용되며

현재 스팀(Steem)의 디앱(dapp)

스팀잇(Steemit)에서도

사용되고 있지요.


1. 글자 크기 조절 

- #의 개수로 글자크기를 조절합니다. (#~######) <h1> 부터 <h6>까지 표현 가능.

 

2. 강조

- 굵게 --->  **글자**  = 글자 

- 기울이기 ---> *기울임* = 기울임

- 취소선 만들기 ---> ~~취소선~~ = 취소선

- 밑줄 긋기 ---> <u>밑줄</u> = 밑줄

 

3. 인용

> 첫 번째 단계 인용

>> 두 번째 단계인용

4. 수평선

1) ***

2) ---



5. 클릭 (하이퍼링크)

Click [here](https://google.com)

구글하이퍼링크걸림.

 

6. 이미지 업로드하기

![image description](이미지링크)

 

7. 테이블 

|Header|Description|

|--|--|

|Cell1|Cell2|

|Cell1|Cell2|

|Cell1|Cell2|

|Cell1|Cell2|

 

8. 인라인 형태

`To print message in the console, use console.log('your message')`

인라인형태 포맷 가능

 

9. 코드블럭 만들기

```

console.log('your message')

```

위에 

```ts 혹은 js 혹은 java 혹은 Kotlin 등 

console.log('your message')

```

 

10. 줄바꿈

마크다운에서 Enter 하나로 줄바꿈이 되지 않습니다 줄을 바꾸기 위해 <br/>을 쓸수도 있으나

라인의 마지막에 공백 두칸 space 두번 하면 줄바꿈이 가능합니다.

 

문단을 구분하려면 Enter를 두번 누릅니다. 

 

티스토리로 보면 해깔리니 깃허나 스팀잇버전으로 gogo!

참고 - 링크 1 (깃허브)

https://github.com/ohjiwoo123/MarkDown

 

ohjiwoo123/MarkDown

MarkDown Syntax. Contribute to ohjiwoo123/MarkDown development by creating an account on GitHub.

github.com

 

참고 - 링크 2 (스팀잇)

https://steemit.com/sct-kr/@tebin/3tnd6d

 

스팀잇 이쁘게 꾸미고, 이쁘게 글적자 😙 — Steemit

일단 여러분 NightMode는 사랑입니다. 개인적으로 스팀잇, vscode, 아이폰 display 등등을 모두 다크모드로 사용 중입니다..ㅎㅎ 자 이제 본론으로 돌아가서 스팀잇 글을 이쁘게 쓰기… by tebin

steemit.com

 

1. 함수 기본형

#include <stdio.h>

// 선언
void p(int num);

int main(){

    // function
    // 계산기

    int num =2;
    // printf("num 은 %d 입니다.\n", num); // 2
    p(num);

    // 2 + 3 은?

    num = num + 3; // num + 3;
    p(num);

    // 5 - 1 은?
    num -= 1; // num = num - 1 
    p(num);

    // 4 x 3 은 ?
    num *= 3;
    p(num);
    

    // 12 / 6 은?
    num /= 6;
    p(num);

    return 0;
}

void p(int num)
{
    printf("num 은 %d입니다.\n", num);
}

실행결과 

num 은 2입니다.
num 은 5입니다.
num 은 4입니다.
num 은 12입니다.
num 은 2입니다.

2. 반환 값이 있는 함수, 반환 값이 없는 함수

#include <stdio.h>

// 선언
void p(int num);
void function_without_return();
int function_with_return();

int main(){
    // function_without_return();
    // return 0;

    int ret = function_with_return();
    p(ret);

    return 0;
}

// p 함수

void p(int num)
{
    printf("num 은 %d입니다.\n", num);
}

// 반환 값이 없는 함수 

void function_without_return()
{
    printf("반환 값이 없는 함수입니다.\n");
}

// 반환 값이 있는 함수

int function_with_return()
{
    printf("반환 값이 있는 함수입니다.\n");
    return 10;
}

실행결과 

반환 값이 있는 함수입니다.
num 은 10입니다.

3. 파라미터(전달값)가 없는 함수 

#include <stdio.h>

void function_without_params();

int main(void)
{
function_without_params();
}

void function_without_params()
{
    printf("전달값이 없는 함수입니다\n");
}

실행결과

전달값이 없는 함수입니다

4. 파라미터(전달값)가 있는 함수 

#include <stdio.h>

void function_with_params(int num1, int num2, int num3);

int main(void)
{
function_with_params(1, 2, 3);
}

void function_with_params(int num1, int num2, int num3)
{
    printf("전달값이 있는 함수이며, 전달 값은 %d %d %d 입니다.\n", num1, num2, num3);
}

실행결과

전달값이 있는 함수이며, 전달 값은 1 2 3 입니다.

5. 파라미터(전달값)도 받고, 반환값이 있는 함수

#include <stdio.h>

void function_with_params(int num1, int num2, int num3);
int apple(int total, int ate); // 전체 total 갯수에서 ate 갯수를 먹고 남운 수를 반환

int main(void)
{
int ret = apple(5,2); // 5개의 사과중에서 2개를 먹었어요.
printf("사과 5개중 2개를 먹으면 %d개가 남아요.\n",ret);

return 0;
}

int apple(int total, int ate){
    printf("전달 값과 반환 값이 있는 함수입니다.\n");
    return total - ate;
}

실행결과

사과 5개중 2개를 먹으면 3개가 남아요.

------------------------------------------------------------------------------

#include <stdio.h>

void function_with_params(int num1, int num2, int num3);
int apple(int total, int ate); // 전체 total 갯수에서 ate 갯수를 먹고 남운 수를 반환

int main(void)
{

printf("사과 %d개중 %d개를 먹으면 %d개가 남아요.\n", 10, 4, apple(10,4));

return 0;
}

int apple(int total, int ate){
    printf("전달 값과 반환 값이 있는 함수입니다.\n");
    return total - ate;
}

실행결과

사과 10개중 4개를 먹으면 6개가 남아요.

6. 함수로 간단한 계산기 work-flow 구현하기

// 계산기 함수 만들기
#include <stdio.h>

void p(int num);

int add(int num1, int num2);
int sub(int num1, int num2);
int mul(int num1, int num2);
int div(int num1, int num2);

int main()
{
    int num = 2;
    num = add(num, 3);
    p(num);

    num = sub(num, 1);
    p(num);

    num = mul(num, 3);
    p(num);

    num = div(num, 6);
    p(num);


    return 0;
}

void p(int num)
{
    printf("num 은 %d 입니다.\n", num);
}

int add(int num1, int num2)
{
    return num1+num2;
}

int sub(int num1, int num2)
{
    return num1-num2;
}

int mul(int num1, int num2)
{
    return num1*num2;
}
int div(int num1, int num2)
{
    return num1/num2;
}

실행결과

num 은 5 입니다.
num 은 4 입니다.
num 은 12 입니다.
num 은 2 입니다.

비트란 ? 

- 비트란 컴퓨터가 처리할 수 있는 최소이ㅡ 데이터 단위이다.

하나의 비트는 0 or 1의 값을 가질 수 있다. 

이 숫자들이 일정한 단위로 모여서 하나의 값이 된다.

컴퓨터는 비트를 이용하여 모든 것을 처리하고, 이 비트는 결국

숫자이기 때문에 컴퓨터는 모든 것을 숫자로 처리한다.

값을 표현하는 최소 단위 = 8비트
1 바이트(1 Bytes = 8 Bit)

비트 & 바이트의 단위  

이름 계산법
비트  - 
바이트 1 Bytes = 8 Bit
킬로바이트 1KB = 1000 Bytes
메가바이트 1MB = 1000 KB
기가바이트 1GB = 1000KB
테라바이트 1TB = 1000GB
페타바이트 1PB = 1000TB
엑사바이트 1EB = 1000PB
제타바이트 1ZB = 1000EB
요타바이트 1YB = 1000ZB

기본 자료형의 메모리 크기와 값의 범위 

 

자료형 키워드 메모리 크기 값의 범위
문자형 char 1 Bytes -128~127
정수형 short 2 Bytes -32,768~32,767
int 4 Bytes -2,147,483,648
~ 2,147,483,647
long 4 Bytes -2,147,483,648
~ 2,147,483,647
부호 없는 문자형 unsinged char 1 Bytes 0~255
부호 없는 정수형 unsigned short 2 Bytes 0~65,535
unsigned int 4 Bytes 0~4,294,967,295
unsigned long 4 Bytes 0~4,294,967,295
부동 소수형 float 4 Bytes 1.2E-38~3.4E38
double 8 Bytes 2.2E-308~1.8E308
void형 void 0 Bytes 값 없음

- 메모리의 크기는 운영체제에 따라 다르며, 32비트(4Bytes) 운영체제를 기준으로 함.

 

signed와 unsigned 비교

signed unsigned
자료형이 가질 수 있는 크기 중
최상위 비트를 부호 판별용으로 사용하여, 표현할 수 있는
숫자의 범위가 좁다.
예) int : 4 Bytes
(-2,147,483,648 ~ 2,147,438,647) 
unsinged 변수는 부호 비트가 필요 없기 때문에,
signed 변수보다 숫자의 범위를 더 넓게
표현할 수 있다.
예) int : 4 Bytes
(0~4,294,967,295)

- unsigned의 사용

정수형 데이터는 부호를 가질 수 있다. 즉 +1, -1 등 양수와 음수를 가지는데 경우에 따라서, 음수를 허용하면 안되는 경우가 있다. 예를 들면 사람의 키의 값을 가지는 변수가 있으면 사람의 키는 음수가 없으므로 양수만을 가질 수 있도록 선언하는 것이 좋다. 이러한 경우 unsigned 키워드를 사용할 수 있다. 

 

* signed는 보통 생략해서 사용하며, unsigned라는 키워드가 없으면 signed를 의미한다.

+ Recent posts