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으로 가기(http://inyourheart.biz/zerowiki/wiki.php/%EA%B9%80%EB%8F%99%EC%A4%80/Project/Data_Structure_Overview)