Language/C

C언어 강좌 (배열 복습/버블 정렬/const)

Dexter_- 2016. 9. 8. 09:40
728x90
반응형

 

 

 

C언어 Chapter 19.


 

 

 

배열 복습

int word[3];

&word + 1

 

  • 위와 같은 연산일 경우 배열 전체 이동으로 4byte 씩 3번 이동. 즉, 주소값이 12byte 이동한다.   

💡 gcc --version : gcc 버전 출력 명령

 

 

🔔 예) 배열의 주소값 증가

 

🎯 프로그램 설명

  • &Data + 1 의 결과 값이 BFFFF9BC BFFFF9B4 보다 12byte 이동한 것을 알 수 있다.

 

결과

 

 

🔔 예) 포인터 표기법과 배열 표기법을 사용한 프로그램의 예

 

결과 : 포인터 표기법에 따른 다양한 배열의 합을 구하는 방법을 알려준다.

 

 

 

const

🔔 예) const 위치에 따른 변화

 

🎯 프로그램 설명

  1. int *p =Data;
  2. const int * cp = Data;
  3. int * const pc = Data;   

[ *값 쓰기]

  1. *p = 8;     ok
  2. *cp = 8;   Error
  3. *pc = 8;   ok

[주소값 변경]

  1. p = &Data[1];     ok
  2. cp = &Data[1];   ok
  3. pc = &Data[1];   Error

const int * const cpc = Data;

 

  • 읽기만 가능한 포인터 변수가 된다.

 

 

버블 정렬(bubble sort)

  • 정렬은 데이터 값을 오름차순이나 내림차순으로 크기에 따라 순서화 시키는 것을 말한다.

5, 4, 3, 2, 1

 

 

 

 

 

  • n개의 숫자를 정렬할 때는 전체적으로 (n - 1)번의 큰 반복을 가지고 각 반복은 큰 숫자 하나를 뒤로 옮긴다.
  • 반복과정에서 맨마지막 5와 같은 수는 이미 자리가 결정되었으므로 비교하지 않는다.

 

🔔 예) 버블 정렬 프로그램

 

결과

 

 

 

 

 

 

728x90
반응형