C 문자열

(2024-04-25)

C 언어 문자열, 문자열 , C 문자


1. [C 언어]  문자, 문자열의 표현 구분

  ㅇ 작은따옴표 ' ' => 문자 표현
     - 例) char a,b,c; a = 'A'; b = 65; c = '\x41'; => a,b,c 모두 문자 'A'를 나타냄
        . 'A'는 ASCII 코드에서 10진수 65, 16진수 41 임

  ㅇ 큰따옴표 " "   => 문자열 표현
     - 例) char char d[] = "ABC"; => d가 문자열 "ABC"를 나타냄 


2. [C 언어]  C 문자열의 특징

  ㅇ C 문자열자료형 => 따로 '없음'
     - 타 언어와 달리, C 언어는, 문자열 자체를 처리하기 위한 별도의 자료형을 제공하지 않음
        . 따라서, C 문자열 처리는 불편하고 신경이 많이 쓰이는 작업임
           .. 주로, 미리 정해진 문자열 함수 만을 사용함 

  ㅇ C 문자열의 저장 형태
     - 종료 널 문자(\0 또는 NUL)로 끝나는 char형 배열

  ㅇ C 문자열의 사용 형태
     - 문자열 데이터메모리에 연속적으로 보관되므로, 주소를 갖게 됨
     - 즉, 포인터 사용 가능


3. [C 언어]  C 문자열변수배열 변수 또는 포인터 변수문자열 값의 지정

  ㅇ 구분   
     - char형 배열 변수  : 例) char str[] = "ABC";
        . 배열에 의한 문자열 접근은, 읽기,쓰기 모두 가능
        . 단, 문자열 변경은 낱개 문자 단위로 가능 : ch[0] = 'D',ch[1] = 'E' 등
        . 즉, 문자열 배열 변수는, char str[] = {'A','B','C','\0'} 형태로 저장된 것임
     - char형 포인터 변수  : 例) char *p_str = "ABC";
        . 포인터에 의한 문자열 접근은, 읽기전용이므로, 초기화 이외에는 쓰기 허용 안됨
        . 즉, 낱개 문자 단위로도 변경 불가
        . 그 이유는, 런타임 메모리 상에 읽기 전용의 데이터 세그먼트(정적 영역)에 저장되기 때문임
     - 문자열들의 배열 변수


4. [C 언어]  C 문자열함수C 문자열 함수 참조

  ㅇ 입출력 (stdio.h) : gets(), fgets(), puts(), fputs(), scanf(), printf() 등
  ㅇ 처리 (string.h) : strlen(), strcmp(), strcpy(), strcat(), strtok() 등
     - strcpy(s2,s1) : s1의 문자열을 s2에 복사
        . 문자열을 다른 배열이나 포인터(메모리)로 복사 가능
           .. 단, 복사될 위치에 저장 공간 사전 확보 필요

C 상수,문자,문자열
   1. C 상수   2. C 문자, 문자열   3. 리터럴(Literal)   4. 열거형  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"