1차원 배열의 사용 예 1
#include <stdio.h>
void main() {
int array1[4] = { 10, 20, 30, 40 };
int array2[] = { 10, 20, 30, 40 };
int array3[4] = { 10 ,20 }; // 10, 20, 0, 0 으로 출력
int array4[4] = {0}; // 배열 값 전부가 0으로 출력
int i;
for (i = 0; i <= 3; i++)
printf("array1[%d] = %d \t", i, array1[i]);
printf("\n");
for (i = 0; i <= 3; i++)
printf("array2[%d] = %d \t", i, array2[i]);
printf("\n");
for (i = 0; i <= 3; i++)
printf("array3[%d] = %d \t", i, array3[i]);
printf("\n");
for (i = 0; i <= 3; i++)
printf("array4[%d] = %d \t", i, array4[i]);
}
1차원 배열의 사용 예2
#include <stdio.h>
void main() {
static int x[] = { 1, 2, 3, 4 }; // 1차원 배열의 선언과 초기화
static int y[] = { 10, 20, 30, 40 }; // 1차원 배열의 선언과 초기화
int i, z[4];
for (i = 0; i < 4; ++i)
z[i] = x[i] + y[3 - i];
printf("반대 위치의 배열요소 합\n");
for (i = 0; i < 4; ++i)
printf("%d + %d = %d\n", x[i], y[3 - i], z[i]);
}
2차원 배열의 사용 예
#include <stdio.h>;
void main() {
static int score[4][3]{ {90, 90, 90}, // 2차원 배열의 선언과 초기화
{80, 80, 80},
{70, 70, 70},
{60 ,60, 60}};
int sum, i, j;
printf("번호\t국어\t수학\t영어\t합계\n");
for (i = 0; i < 4; ++i) { // 행 출력
sum = 0;
printf("%3d", i + 1);
for (j = 0; j < 3; j++) { // 열 출력
printf("\t%3d", score[i][j]);
sum += score[i][j];
}
printf("\t%3d\n", sum);
}
}
3차원 배열의 사용 예
#include <stdio.h>
int main() {
int matrix[2][4][5]; // 면 행 열 순서대로 배열 선언
int page, row, col; // 첨자로 사용 할 변수 선언
int val = 0; // 1~40까지의 변수 선언하고 초기값 0 선언
for (page = 0; page < 2; page++) {
for (row = 0; row < 4; row++) {
for (col = 0; col < 5; col++) {
matrix[page][row][col] = ++val; // 값 할당
}
}
}
for (row = 0; row < 4; row++) {
for (page = 0; page < 2; page++) { // 1면의 4행까지 출력 후 2면 이 출력되어야 하므로 row for문 안에 page for문 작성
for (col = 0; col < 5; col++) {
printf("%3d0", matrix[page][row][col]); // 할당 받은 값 출력, 한 행 부터 순차대로 출력
}
printf(" ");
}
printf("\n");
}
return 0;
}
2차원 배열이 함수의 매개변수로 사용된 예
#include <stdio.h>
void score_sum(int gr[][5], int, int);
void main() {
int score[2][5] = { {10, 20, 30, 40, 50},
{10, 10, 10, 10, 10,} };
score_sum(score, 2, 5);
}
void score_sum(int gr[][5], int row, int column) {
int sum[2] = { 0 };
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < column; j++)
sum[i] += gr[i][j];
printf("sum[%d] = %d\n", i, sum[i]);
}
}
char형 배열의 사용 예1
#include <stdio.h>
void main() {
char name[] = "HONG GIL DONG"; // 띄어쓰기 포함해서 14 정도의 기억공간 확보
char adrs1[6] = { 'S', 'E', 'O', 'U', 'L', '\0' };
char adrs2[6] = { 'S', 'E', 'O', 'U', 'L'}; // null 문자를 추가하지 않은 경우 SEOUL 다음에 쓰레기 값이 붙을 수 있음
printf(" name : %s", name);
printf("\n adrs1 : %s", adrs1);
printf("\n adrs2 : %s", adrs2);
}
char형 배열의 사용 예 2
#include <stdio.h>
# pragma warning(disable:4996)
int main() {
char string[50];
int i = 0;
printf("문자열을 입력하세요: ");
scanf("%s", string); // scanf() 함수로 입력 받은 문자열의 끝은 \0 이 자동으로 삽입됨
printf("입력 받은 문자열 : %s\n", string);
printf("문자 단위 출력 :");
while (string[i] != '\0') { // null 값 즉 \0 을 만나면 끝내기
printf("%c", string[i]);
i++;
}
}
'C Language' 카테고리의 다른 글
포인터와 배열의 상관 관계, 포인터 배열, 이중 포인터 (0) | 2022.06.01 |
---|---|
포인터(Pointer) 포인터 선언 참조법, 포인터 연산 (0) | 2022.05.31 |