1차형 배열의 선언
int arr1 [4]; - 자료형, 배열이름 , 길이정보
int arr2 [5] = {1,2,3,4,5}; // 배열 선언과 동시에 초기화
int arr3 [3] = {1,2}; // 이때 , 초기화되지않은 arr[2]에는 0이 채워진다.
배열에 값을 저장할때에는 arr[0] = 7; 이런식으로 저장한다. 이때 , 배열의 위치 정보를 명시하는 인덱스 값은 1이아닌 0에서부터 시작한다.
* len = sizeof(arr) / sizeof(int);
sizeof 연산자를 이용해 배열의 길이를 알아낼 수 있다. 이때, sizeof 연산의 결과로는 바이트단위의 배열크기가 반환된다.
(따라서 길이를 알고싶다면 자료형의 사이즈로 나눠줘야한다)
char형 배열의 문자열 저장과 null 문자
char str [14] = "Good Morning!"; // 큰따옴표를 이용해서 문자열을 표현 (작은따옴표는 문자)
문자열 끝에는 \0(널문자) 라는 특수문자가 자동으로 설정되기때문에 , \0이 저장될 공간까지 고려해서 길이를 결정해야한다. 널문자의 아스키코드값은 0이다. C언어에서 널문자가 없으면 문자열이아니다. 반대로말하면 문자열의 선언방법에 관계없이 널문자가 마지막에 존재하면 문자열인것이다.
scanf 함수를 이용한 문자열의 입력
printf 함수를 이용하여 문자열을 출력할때 %s 서식문자를 사용하는것과 마찬가지로 scanf 함수를 이용하여 문자열을 입력할때도 %s 서식문자를 이용한다. 이때, 입력받을 대상에는 &연산자를 사용하지 않는다.
scanf 함수의 문자열 입력특성 - scnaf 함수의 데이터 구분기준은 공백이므로 , 만약 he is my friend 라는 문자열을 입력했을때 , he 만 입력되게된다. 따라서 scanf 함수는 문장을 입력받기엔 적절치 않다.
'C언어 > 열혈C' 카테고리의 다른 글
C : Chapter -11 포인터와 배열 (0) | 2018.03.22 |
---|---|
C : Chapter-10 포인터 (0) | 2018.03.22 |
C : Chapter -8 함수 (0) | 2018.03.19 |
C : Chapter -7 조건문 (0) | 2018.03.19 |
C : Chapter -6 반복문 (0) | 2018.03.19 |