배열 ¶
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; }Main으로 가기