string s = "LEO"; 사실 c에는 string이라는 자료형이 없다. 그 간 string이라는 자료형은 만들어진 것이며, 이를 사용하기 위해 라이브러리에서 불러온다는 것은 알고 있었다. 그렇다면 string 자료형은 내부적으로 어떻게 구현이 되어있는 것일까? 전에도 언급했듯이 string은 단지 char의 배열이다. 내부적으로 보면 메모리에 L, E, O, \0(널 종단문자) 순서대로 저장되어있을 것이다. 그러면 변수 s는 어떤 값을 저장하고 있는 것인가? 변수 s는 char 배열의 가장 첫 번째 글자인 L이 위치한 메모리 주소를 값으로 갖고 있다. 즉, s는 포인터 변수이다. s는 char 배열의 첫 번째 글자의 주소만 알고 있고, 그 주소에서부터 시작해서 널 종단 문자가 나올 때까지 loop..
C의 자료형과 크기 bool: 불리언, 1바이트 char: 문자, 1바이트 int: 정수, 4바이트 float: 실수, 4바이트 long: (더 큰) 정수, 8바이트 double: (더 큰) 실수, 8바이트 string: 문자열, ? 바이트 (빌트인 타입 아님) char과 string C에서는 char은 싱글 quote, string은 더블 quote로 나타낸다. #include int main(void) { char c1 = 'H'; char c2 = 'I'; printf("%i %i\n", c1, c2); // 형식지정자를 c가 아닌 i로 하고, c1이나 c2를 int로 캐스팅하지 않아도 상응하는 아스키코드 숫자가 출력된다 } int는 4바이트, char은 1바이트 이렇게 정해져있는 반면, strin..
- Total
- Today
- Yesterday
- 인스턴스
- 알고리즘
- 리덕스
- c언어
- GIT
- SQL
- youtube data api
- 자바
- this
- getter
- CSS
- 개발 공부
- jQuery
- JavaScript
- 깃
- react
- 포인터 변수
- linkedlist
- Data Structure
- useEffect
- oracle
- Redux
- rxjs
- Conflict
- Prefix Sums
- Java
- Session
- 제네릭스
- package.json
- til
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |