달력

8

« 2020/8 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  

   

메모리 영역의 특징

  

코드, 스택, 데이터 영역

힙영역

메모리 할당

컴파일 시간에 할당

런타임 시간(실행 시간)에 할당

메모리 해제

자동 해제

free() 함수로 해제

메모리 관리

컴파일러 관리

프로그래머 관리

   

   

메모리 구조

   

Posted by codedragon codedragon

댓글을 달아 주세요


 

while

·       while문의 기본 문법

·       while 무한 루프(무한 반복문)

·       중첩 while

 

 

 

중첩 while

while 내부에 다른 while문이 있는 문장

int i=0, j=0;

while(i<2)

{

    printf("외부 반복 \n");

    while(j<2)

    {

         printf("내부 반복 \n");

    j++;

    }

    i++;

    j=0;

}

 

 

int i = 0, j = 0;

while (i < 2) {

printf("외부 반복 \n");

while (j < 2) {

printf("내부 반복 \n");

j++;

}

i++;

j = 0;

}

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

while

·       while문의 기본 문법

·       while 무한 루프(무한 반복문)

·       중첩 while

 

 

 

while 무한 루프(무한 반복문)

종료되지 않고 무한히 실행되는 반복문

int i=0;

while(1)  // 무조건 (무한루프)   

{

  printf("반복 횟수 : %d \n", i);

  i++; 

   // if(i>10)

     // break;

}

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 1. 7. 17:46

중첩 for문 Development/C/C++


 

중첩 for

for 내부에 다른 for문이 있는 문장

int i, j;

int result=0;    // 구구단의 결과 저장 변수

 

for(i=2; i<10; i++)

{//외부 반복

     for(j=1; j<10; j++)

     {//내부 반복

        result=i*j;

        printf("%d * %d = %d\n", i, j, result);

     }

 

     printf("--------\n");

}

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

for문의 변형

초기값이 없는 경우

int i=1, factorial=1;

// 초기값이 없는 경우,

for(  ; i<=10; i++)       

// 초기값은 사실상 위에 존재, int i=1

{

      factorial = factorial * i;

}

printf("1부터 10까지의 : %d\n", factorial);

 

조건값이 없는 경우

int i, factorial=1;

for(i=1;  ; i++)  //  조건값이 없는 경우

{

   factorial=factorial*i;

             

   if (i>10)

      break;   

      // 무한 반복문을 탈출하기 위한 break

}

printf("1부터 10까지의 : %d\n", factorial);

 

증감값이 없는 경우

int i, factorial=1;

// 증감값이 없는 경우

for(i=1; i<=10;  )   

{

   factorial=factorial*i;

   // 증감값을 여기에 설정

   i++;

}

printf("1부터 10까지의 : %d\n", factorial);

 

초기값, 조건값, 증감값이 모두 없는 경우

int i=1, factorial=1;

//무한루프

for(  ;  ;  )

{

   factorial=factorial*i;

   i++;

 

}

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

for 무한 루프(무한 반복문)

종료되지 않고 무한히 실행되는 반복문

int i;

for(i=0; 1; i++)   //무조건

{

   printf("반복 횟수 : %d\n", i);

}

return 0;

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

while

·       while문의 기본 문법

·       while 무한 루프(무한 반복문)

·       중첩 while

 

 

 

while 문의 기본 문법

·       조건이 참인 동안 계속 해서 문장을 실행

·       while 문의 의미 ‘~하는 동안

·       ‘조건식’이 ‘참’인 동안 ‘수행구문’을 반복해서 실행합니다.

초기식;

while(조건식)

{//반복문 시작

증감식;

수행구문;

}//반복문 종료


 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

 

함수의 반환값

·       함수값을 돌려줄 때는 return 문과 함께 사용합니다.

·       함수가 돌려줄 값에 따라 함수 이름 앞에 데이터형을 붙입니다.

·       돌려줄 값이 없으면 void 형으로 함수를 선언합니다.(C, Java)

·       돌려줄 값이 없으면 Unit 형으로 함수를 선언합니다.(Kotlin)

 

 

 



 

 

return

·       점프문의 종류

·       현재 실행하고 있는 함수를 종료하고, 함수를 호출한 곳으로 돌아가는 제어문

·       함수값을 돌려줄 return 사용 (값의 반환)

·       함수의 종료 의미 (메소드 종료)

·       return 문은 필요시 메소드 중간에서 호출하여 해당 메소드를 종료시키고 프로그램의 흐름을 호출한 으로 돌려줄 있습니다.

·       함수가 반환할 것이 아무것도 없는 경우(, 반환 형식이 void 경우)에도 return 문만 사용 가능(return;)하며 경우 반환없이 메소드만 종료시킵니다.

 

 

 

void

·       void '아무 (타입) 없는', '공허한', '텅빈' 의미

·       입력받는 혹은 반환할 '아무런 값이 없다' 의미

 

 

 

Unit

http://codedragon.tistory.com/7883

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

비트 연산자(bitwise operator)

http://codedragon.tistory.com/1237

 

 

 

C/Java - 비트 연산자 종류

연산자

의미

&

비트 단위의 AND

두개의 비트가 모두 1이면 1 반환합니다.

 

n1 & n2;

|

비트 단위의 OR

두개의 비트 중에서 하나라도 1이면 1 반환합니다.

 

n1 | n2

^

배타적 OR(XOR)

두개의 비트가 서로 다르면 1 반환합니다.

 

n1 ^ n2;

~

비트 단위 NOT

피연산자의 모든 비트를 반전 시킨 결과를 반환합니다.

보수 연산으로 비트를 반전 시킵니다. , 비트를 1이면 0으로, 0이면 1 반전시킵니다.

 

~n1;

 

 

 

 

 

 

& 연산자

피연산자

연산자

피연산자

결과

0

&

0

0

0

&

1

0

1

&

0

0

1

&

1

1

 

 

result = n1 & n2

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

n2=7

0

0

0

0

0

1

1

1

result=5

0

0

0

0

0

1

0

1

 

 

 

 

 

| 연산자

피연산자

연산자

피연산자

결과

0

|

0

0

0

|

1

1

1

|

0

1

1

|

1

1

 

 

 

 

result = n1 | n2

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

n2=7

0

0

0

0

0

1

1

1

result=15

0

0

0

0

1

1

1

1

 

 

 

 

 

^ 연산자

피연산자

연산자

피연산자

결과

0

^

0

0

0

^

1

1

1

^

0

1

1

^

1

0

 

 

result = n1 ^ n2

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

n2=7

0

0

0

0

0

1

1

1

result=10

0

0

0

0

1

0

1

0

 

 

 

 

 

 

~ 연산자

연산자

피연산자

결과

~

0

1

~

1

0

 

 

result = ~n1

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

result=242

1

1

1

1

0

0

1

0

 

2+16+32+64+128=242

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

typedef

긴이름을 단축형으로 또는 다른 이름으로 별칭을 지정할 있습니다.

 

typedef int mytype;

 

typedef

자료형의 재정의를 의미하는 키워드

int

기존 자료형

mytype

이름

 

 

 

구조체에서 typedef선언 방법

방법 1

방법 2

구조체 정의와 동시 typedef 선언

구조체 정의와 개별적으로 typedef 선언



 

 


Posted by codedragon codedragon

댓글을 달아 주세요