배열(Array) : 한 가지 자료형을 연속적으로 나열한 것
[형식1] 자료형 배열이름[배열의크기];
배열이름[인덱스] = 값;
int score[3];
/* score[index] = value 배열 인덱스는 항상 0부터 시작한다. */
score[0] = 90;
score[1] = 100;
score[2] = 85;
[형식2] 자료형 배열이름[배열의크기] = {값1, 값2, 값3}
int score[3] = {90, 100, 85};
/* 만약 초기화 데이터가 배열의 크기보다 적다며, 나머지 원소들은 0으로 초기화 된다.
ex) int score[4] = {90, 100}; index2,3은 value가 0 */
배열의 사용
[형식] 배열이름[인덱스]
int main() {
int array[3] = {19, 20, 21};
for(int i = 0; i < 3; i++){
printf("%d\n", array[i]);
}
}
/* 19 */
/* 20 */
/* 21 */
이차원 배열
[형식] 자료형 배열이름[행][열];
int main(){
int array[3][4] = {
{11, 22, 33, 44},
{55, 66, 77, 88},
{99, 111, 222, 333}
};
for(int i = 0; i < 3; i++){
for(int j = 0; j < 4; j++) {
printf("%d ", array[i][j];
}
printf("\n");
}
}
/*
11 22 33 44
55 66 77 88
99 111 222 333
*/
문자열
: C언어에서는 문자자료형인 char는 있지만 문자열을 저장할 수는 없다.
문자열을 저장하기 위해, 문자(char)배열을 사용한다.
string
index 0 1 2 3 4 5 6 7 8 9
value y e l l d o r a d o
printf("%c", string[7])
/* a */
char string[10] = {"y", "e", "l", "l", "d", "o", "r", "a", "d", "o"};
printf("%s", sting);
/* yelldorado */
char string[] = "yelldorado";
printf("%s", string);
/* yelldorado */
* 배열 크기 생략시 반드시 초기값 지정해야 함
: 왜? 초기값을 지정한 개수 만큼의 배열이 선언됨
* 문자열 변수 선언과 동시에 초기화를 하지 않으면 에러가 발생한다.
왜? 이미 할당된 배열에는 문자열을 바로 넣을 수 없다.
- 해결 방법 : string.h 헤더 파일의 strcpy함수를 사용한다.
* strcpy(대상문자열, 원본문자열) : 원본 문자열을 대상 문자열로 복사
ex)
char string[10]
string = "yell"; => x
char string[10]
strcpy(string, "yell"); => o
'정보처리산업기사 공부 메모 > 프로그래밍언어 활용' 카테고리의 다른 글
📚 C 제어문 (0) | 2023.05.02 |
---|---|
📚 C 입력 함수, 출력 함수( printf, scanf ) (0) | 2023.04.28 |
📚 데이터 타입과 변수 (0) | 2023.04.27 |
📚 프로그래밍 언어 개념, 정보표현단위 (0) | 2023.04.18 |
댓글