글
(7-1)Array
C/C언어 이론
2018. 10. 3. 18:11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #include <stdio.h> #include <string.h> // 문자열 관련 함수를 사용하려면~~ 필요하다! void main() { /* char 배열 - char는 1개 문자를 표현하는 자료형 - char의 배열 형태는 "문자열"을 표현할 수 있다. - 문자열의 끝에는 널문자 \0 가 삽입되어있다. (자동) > 문자열의 끝을 의미 > 널문자 때문에 배열 선언 시 원하는 문자열 길이보다 최소 1이상 여유있게 선언해야 한다. > 널문자의 포함때문에 변수명의 접두사에 sz가 붙는다. string-zero */ char szStr1[20] = "Hello"; // char 배열 선언과 동시에 초기화할때 "문자열" 사용 가능 // 나머지 공간은 자동으로 '널문자'가 채워진다. char szStr2[20] = { 'H', 'e', 'l', 'l', 'o', }; // szStr1과 동일 char szStr3[20] = {0, }; // 앞서 했던 초기화 방법과 동일! (정수 0은 널문자) char szStr4[20]; // 초기화 하지 않은 문자 배열 char szStr[] = "Hello World"; // 길이가 자동으로 잡힌다. (11글자) printf("szStr의 크기 : %d\n", sizeof(szStr)); // 널문자의 포함 때문에 12 printf("널문자 문자로 출력 : [%c]\n", szStr[11]); printf("널문자 정수로 출력 : [%d]\n", szStr[11]); printf("공백을 문자로 출력 : [%c]\n", ' '); printf("공백을 정수로 출력 : [%d]\n", ' '); // 널문자는 정수 0이다. --> 여태 사용했던 정수 0은 문자로는 '널문자'였다!! // 공백과는 다른 문자 (공백은 정수 32) printf("szStr = [%s]\n", szStr); // 문자 배열의 모든 내용은 %s 문자열로 출력할 수 있다! // 이때, %s는 널문자(정수0)를 만날 때까지 글자를 출력한다. szStr4[0] = 'H'; szStr4[1] = 'e'; szStr4[2] = 'l'; szStr4[3] = 'l'; szStr4[4] = 'o'; //szStr4[5] = '\0'; szStr4[5] = 0; // 윗 줄과 동일하다! '\0' = 0 printf("szStr4 = [%s]\n", szStr4); // 문자배열에 문자열 대입 // szStr4 = "Hello World"; // 불가능 // 문자열을 대입하는 행위(대입연산)는 배열 생성 시에만 가능 // 문자열을 배열에 대입하려면 문자열 관련 '함수'를 사용해야 한다! (기억하자) // strcpy(저장될 배열, 저장할 문자열); --> string copy strcpy(szStr4, "Hello World"); // string.h 필요 printf("szStr4 = [%s]\n", szStr4); strcpy(szStr4, szStr); // 뒤에 문자열을 앞에 복사하겠다~~! } | cs |
'C > C언어 이론' 카테고리의 다른 글
(7-3)Array (0) | 2018.10.03 |
---|---|
(7-2)Array (0) | 2018.10.03 |
(6-3)Function (0) | 2018.10.02 |
(6-2)Function (0) | 2018.10.02 |
(6-1)Function (0) | 2018.10.02 |