문자
- C프로그램의 문자는 아스키 코드를 따른다.
- 아스키 코드는 0~127중의 1바이트로 구성되며 주요 문자를 출력하도록 해준다.
+ 0 = 48, A = 65, a = 97
- 컴퓨터는 내부적으론 다 숫자로 처리한다.
버퍼
- 문자열을 처리할 때 버퍼의 개념이 많이 사용된다.
- 버퍼(buffer)란 임시적으로 특정한 데이터를 저장하기 위한 목적으로 사용한다.
- C 프로그램은 기본적으로 사용자가 의도하지 않아도 자동으로 버퍼를
이용해 입출력을 처리한다.
- scanf로 5를 입력하게되면 버퍼에 5를 입력할때 입력된 엔터도 저장되게된다.
while((temp = getchat()) != EOF && temp != '\n') {} 구문으로 엔터를 제거해준다.
실습내용
실습결과
문자열
- 문자열은 말 그대로 문자들의 배열이다
- 문자열은 컴퓨터 메모리 구조상에서 마지막에 널(NULL) 값을 포함한다.
+끝을 알기위해 NULL(\0) 한자리가 추가된다.
문자열과 포인터
- 문자열 형태로 포인터를 사용하면 포인터에 특정한 문자열의 주소를 넣게된다.
- 예를들어 char *a = "Hello World"라는 문자열이 입력되면 읽기 전용으로
메모리 공간에 넣고 그 위치를 처리한다.
- 위에 방식을 "문자열 리터럴"이라고 한다.
- 문자열리터럴방식은 컴파일러가 알아서 메모리 주소를 결정한다.
- gets()함수를 이용하게 문자배열의 길이를 제한할 수 없다.
gets_s()함수를 사용하여 문자배열 크기만큼 입력받고 넘을경우 런타임 오류를 낸다.
실습내용
실습결과
문자열함수
- strlen()은 문자열의 길이를 반환한다.
- strcmp()는 문자열1이 문자열2보다 사전적으로 앞에 있으면 -1, 뒤에 있으면 1을 반환한다.
- strcpy()는 문자열을 복사한다.
기본적으로 C언어에선 a = b같은 방법으로 복사가 안된다.
- strcat()는 뒤에 있는 문자열을 앞에 있는 문자열에 합친다.
- strstr()은 긴 문자열에서 짧은 문자열을 찾아 그위치를 반환한다.
짧은 문자열을 찾은 주소 값 자체를 반환하므로 단순히 출력하면
찾은 이후 모든 문자열이 반환된다.
실습내용
실습결과
'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글
C언어 코딩 다차원배열,포인터배열 (0) | 2018.12.18 |
---|---|
C언어 코딩 컴퓨터 변수 처리방식(전역변수,지역변수,매개변수) (0) | 2018.12.17 |
C언어 코딩 포인터,다중포인터 (0) | 2018.12.14 |
C언어 코딩 함수,재귀함수,배열 (0) | 2018.12.14 |
C언어 코딩 조건문,반복문 (0) | 2018.12.13 |