풀스택개발자될거임
[Do it C언어 입문 정리] 12.배열과 문자열 본문
배열이란
데이터를 그룹으로 묶어주는 문법
int student_1 = 0;
int student_2 = 0;
int student_3 = 0;
.
.
.
int studen_100 = 0;
이걸
int student[100];
for(int i = 0; i < 100; i++)
student[i] = 0;
이렇게 바꿔줌
배열 선언 및 사용
자료형 변수이름[요소개수];
예를들어
short age[100];
라고 선언하면
2byte(short 크기) 크기의 변수가 100개( age[0] ~ age[99] )를 생성한 것과 같음.
그래서 age 변수는 총 200byte 크기로 만들어짐.
특정 요소에 값을 넣고 싶다면
배열이름[인덱스] = 값;
이렇게 하면 됨
예시
age[0] = 20;
age 첫번째 요소에 20을 넣음
배열 초기화
for문으로 초기화 할 수 있음
short age[20];
for(int i = 0; i < 20; i++)
age[i] = 0;
근데 사실 for문 안써도 됨ㅋㅋ
short age[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
short age[20] = {0,};
1번째 2번째 같은 코드임
요소 개수 생략도 가능
short age[] = {0,0,0,0,0};
주의할점
short age[5] = {3,}; /* short age[5] = {3,0,0,0,0}; 랑 같음 */
문자열
만약 "Hello" 라는 문자열을 저장하려면 어떻게 저장해야할까?
data1 ~ data5 를 만들어서 알파벳 하나하나 저장하면 할 수 있겠지만, 문장이 길어지면 힘들어질것이다.
이때 위에서 배운 배열을 이용하면 간단히 해결할 수 있다.
char data[6] = {'H','e','l','l','o',0};
이때 0을 추가로 입력하여 , 이 정보는 문자열이라는 것을 컴파일러에게 알려준다.
하지만 문자 하나하나 입력하는 것은 불편하기 때문에 우리는 이렇게 나타낼 수 도 있다.
char data[6] = "Hello";
char data2[] = "World";
이렇게 하면 0이 자동으로 추가 된다. 그리고 []안에 숫자를 생략해도 문자열 크기에 맞춰서 자동으로 크기가 맞춰진다.
출력하는법
char st[] = "Hello World";
printf("%s",st);
%s를 사용한다.
문자열 길이 구하기
while을 이용하여 구할 수 있다.
char data[] = "Hello";
int count = 0;
while(data[count] != 0) count++;
printf("%d\n",count);
아니면 string.h 내장함수를 이용해서 구할 수 있다.
#include <stdio.h>
#include <string.h>
int main()
{
char data[] = "Hello";
int count = 0;
count = strlen(data);
printf("%d\n",count);
return 0;
}
strlen() : 괄호안의 문자열 길이를 구해준다.
strcpy(a,b) : a에 b문자열을 복사한다.
strcat(a,b) : a와 b를 연결시켜서 리턴한다.
2차원 배열
2차원 배열 선언 방법
자료형 변수명[num][num];
char data[5][4];
4열 5행 배열이 만들어짐
초기화 방법
char data[5][4] = {0,};
'C > do it C언어 입문' 카테고리의 다른 글
[Do it C언어 입문 정리] 13.포인터 (0) | 2023.04.15 |
---|---|
[Do it C언어 입문 정리] 11.지역 변수와 전역 변수 (0) | 2022.12.25 |
[Do it C언어 입문 정리] 10.시프트 연산자와 비트 연산자 (0) | 2022.12.25 |
[Do it C언어 입문 정리] 9.반복문 (2) | 2022.12.23 |
[Do it C언어 입문 정리] 8.조건문 (0) | 2022.12.23 |