자바는 스트링 변수가 있어 문자열 붙일때 그냥 + 하면 문자열이 붙는다. 하지만 c언어는 스트링 변수가 없어서 문자열을 다룰때 char 배열을 사용해야 한다. 또한 문자열 붙일때 + 사용할 수 없고 함수를 사용한다. 그중 strcpy와 strcat 함수를 살펴보면 char string[80]; //초기화 생략 memset strcpy(string,"Hello"); 하면 string 배열에 Hello가 들어가고 끝에 널문자 '\0'이 붙는다. 그리고 strcat(string,"World"); 하고 string을 찍어보면 HelloWorld 라고 찍힌다.
자바 개발자들은 문자열 다룰때 그냥 + 연산자 쓰면 문자열끼리 붙었고 문자열 쓰기도 쉬웠다. 그러나 c언어는 자바나 php등의 언어에 비해 문자열 다루기가 다소 까다롭다. 그 이유는 문자열은 배열로 처리해야 하기 때문에 문자열에 필요한 작업은 배열요소를 일일히 참조해야 한다. 자바 개발자들은 짜증이 나겠지만 그래도 어떻겠나. c언어 하려면 적응해야지.. 우선 c언어에 "apple" 이라고 있으면 문자열 맨 끝에 널문자('\0')가 같이 저장되어 있는다. 즉, 'a' 'p' 'p' 'l' 'e' '\0' 이런식으로 메모리 어디엔가 저장되어 있다. 그래서 char app[5]="apple"; //배열 선언과 동시에 초기화 가능하다. char app[5]; app="apple"; 이거는 안된다. 배열명 app..
자바개발자가 c언어를 할때 가장 힘든것이 String 변수형이 없다는 것일거다. String 변수형이 있으면 문자열(스트링)을 다루기 쉬운데 c언어는 없으니 char 배열로 사용해야 한다. 사실 자바나 다른언어의 문자열형도 내부적으로는 char 배열로 되어 있다. 사람이 사용하기 편하게 String 변수형이 있는것이다. char word[50]; word[0]='a'; word[1]='b'; printf("%s\n",word); 해서 출력하면 ab경경경경경경경경경경 머 이런식으로 출력된다. 이렇게 쓰레기 값이 찍힌다. 그래서 char 배열 마지막에는 널문자 '\0'을 넣어 문자열의 끝을 알려줘야 한다. char word[50]; word[0]='a'; word[1]='b'; word[2]='\0'; pr..
자바는 string 문자열이 있지만 c언어는 없다. 그래서 좀 짜증나지만 어쩌겠나.. 문자열은 여러개의 문자가 모이면 된다. 문자열을 표현하는 방법은 큰 따옴표("")로 문자열을 묶어주면 된다. 이것을 문자열상수라고 하고 컴파일러는 문자열상수를 연속적인 문자상수들의 비트열로 번역한다. 예를들어 "abcd" 가 있다라고 하면 전체는 5바이트면 마지막 문자 다음에 모든 비트가 0인 한 바이트를 더 추가한다(즉, 0000 0000). 이것을 널문자(null character)라고 한고 문자열의 끝을 표시해 주는 역할을 한다. 널문자의 표현 -> '₩0'
- Total
- Today
- Yesterday
- 오라클
- webix
- MySQL
- xe애드온
- 자바 smtp
- C
- 포인터
- 스크래핑
- php
- 파싱
- KG
- 자바
- ocjap
- 파이썬
- 이클립스
- Python
- 문자열
- C언어
- XE
- 인포믹스
- EC
- ocajp
- esql
- 프로씨
- XE3
- 플러터
- xe addon
- 라이믹스 모듈
- proc
- JDBC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |