Computer Science 25

[배열과 포인터] 포인터 증감연산

#include #include int main(void) { /* test 1 */ int arr[5] = {10,20,30,40,50}; int *p = arr; printf("%d ", *p); printf("%d ", *p++); printf("%d ", (*p)++); printf("%d ", *(p++)); //왜 21이 나오지?, p++먼저 해서 p의 주소값을 하나 올리고 그 값을 출력하니까 30 아닌가? printf("%d ", *p); printf("\n\n"); /* test 2 */ int arr1[5] = {10,20,30,40,50}; int *p = arr1; printf("%d ", *p); printf("%d ", ++*p); printf("%d ", ++(*p)); prin..

[배열과 포인터] 일차원 배열과 이차원 배열 및 포인터 표기 방법

일차원 배열과 이차원 배열에서, 배열 및 포인터 표기법을 알아보았다. #include void onedim() { int i; int a[5] = {1,2,3,4,5}; int *ptr; int **c; ptr=a; c=&ptr; printf("&a[0]: %p, a: %p, b: %p, c: %p\n", &a[0], a, ptr, c); for (i = 0; i < 5; i++) { printf("a[0]: %d, *(a+%d): %d, *(ptr+i): %d\n", a[i], i, *(a+i), *(ptr+i)); } } void twodim() { int i, j; int a[2][3] = {1,2,3,40,50,60}; /*int **dptr; dptr = a;*/ // error int (*dp..

[구조체] struct 선언 방법들

- 구조체를 선언할 때 typedef를 사용하면 별칭이 꼭 필요하고, 이때는 구조체를 사용할때 별칭만으로 선언 가능하다. #include struct A { int a; int b; int c; }; typedef struct { int a; int b; }b; typedef struct C { int a; int b; }c; /* 안되는 선언 - typedef로 선언했으면 별칭이 있어야 함*/ typedef struct D{ int a; int b; }(별칭); typedef struct A a; int main (void) { a a1; struct A a2; b b1; c c1; }

[소프트웨어공학] 모듈화 - 응집도와 결합도

모듈화 - 의미: 소프트웨어를 각 기능별로 분할하는 것, 기능별로 분할한 것은 모듈이라 함 - 장점: 모듈화를 수행하면 소프트웨어의 복잡도가 감소하고, 변경이 쉬우며 프로그램 구현이 용이함 -모듈의 독립성은 결합도(Coupling)와 응집도(Cohesion)에 의해 측정되며, 독립성을 높이려면 모듈의 결합도롤 약하게 하고 응집도를 강하게 하며 모듈의 크기를 작게 만들어야 함 결합도(Coupling) -모듈간에 상호 의존하는 정도 -두 모듈 사이의 연관 관계 -독립적인 모듈이 되기 위해서는 각 모듈 간의 결합도가 약해야 하며 의존하는 모듈이 적어야 함 -결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움 -결합도의 종류: 자료 결합도, 스탬프 결합도, 제어 결합도, 외부 결합도, 공통 결합도, 내용 결합도