== 배열 == Array ADT {{{ //가정 : 모든 A include Array, i include index, x include item // j , size include integer Array Create(j, list) => return j 차원의 배열 여기서 list는 i번째 원소가 i 번째 차원의 크기인 j-tuple 이며 item 들은 정의되지 않음. Item retrive(A, i) => if(i include index) return 배열 A의 인덱스 i 값과 관련된 항목 else reutrn 에러 Array Store(A,i,x) => if( i include index) return 새로운쌍(i,x) 가 삽입된 배열 A. else return 에러 }}} C 언어에서의 배열 선언방법 {{{ int list[5], or *plist[5] }}} 간단한 배열 프로그램의 예 {{{ #define MAX_SIZE 100 float sum(folat [], int); float input[MAX_SIZE], answer; void main(void) { int i; for(i = 0; i < MAX_SIZE; i++) { input[i] = i; } answer = sum(input, MAX_SIZE); printf("The sum is: %f\n", answer); } float sum(float list[], int n) { int i; float tempsum = 0; for(i = 0; i < n; i++) { tempsum += list[i]; } return tempsum; } }}} 동적으로 배열을 할당하는데에 있어서 1차원, 2차원 다차원의 여러 경우가 있다. . 2차원 배열을 동적으로 생성할 때 {{{ int** make2dArray(int rows, int cols) { int **x, i; MALLOC(x, rows * sizeof (*x)); for(i = 0; i < rows; i++) { MALLOC(x[i], cols * sizeof(**X)); } return x; } }}} [http://inyourheart.biz/zerowiki/wiki.php/%EA%B9%80%EB%8F%99%EC%A4%80/Project/Data_Structure_Overview Main으로 가기]