array 2

[CS50] 문자열과 배열

C뿐 아니라 많은 프로그래밍 언어들은 문자열을 저장하기 위해 string 자료형을 사용했습니다. 문자열이라는 단어는 문자가 나열되어있다. 즉 배열되어있다.라는 의미로 추측해볼 수 있는데요. 이런 관점에서 string 자료형이 C에서 어떻게 정의되어있는지 배열과 관련해서 공부해보도록 하겠습니다. string은 말 그대로 문자(char)의 배열이었습니다. 만약 string s = "HI!"; 로 정의되어 있다면 s는 문자열이기 때문에 메모리상에 'H', 'I', '!'로 저장되어 있을겁니다. 그런데 사실 문자열은 저번 포스팅에서 설명했듯이 길이가 정해져 있지 않기때문에 메모리의 크기 역시 정해져있지 않습니다. 그럼 string이 연속으로 정의되어있다면 어떻게 구분할까요?? 그래서 string에는 종단 문자인..

CS 기초/배열 2021.08.08

[CS50] 배열

지금까지 특정 자료형의 변수를 선언하면 컴퓨터 메모리상 어딘가에 특정 크기만큼의 자리를 차지하게 됩니다. 이번 포스팅에서는 메모리상에서 여러값을 연이어 저장하는 방법을 공부해보도록 하겠습니다. C에는 여러가지 자료형과 그에 맞는 메모리의 크기가 있습니다. - char : 1byte - bool : 1byte - int : 4byte - float : 4byte - long : 8byte - double : 8byte - string : 알 수 없음(길이에 따라 다르다) 이러한 데이터들은 RAM이라고 하는 컴퓨터 하드웨어에 저장이 됩니다. 이제 여러값을 연이어 저장해서 사용하기 위해서는 먼저 배열이란 단어에대해 알아야합니다. 배열이란? 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료구조이다.(출처..

CS 기초/배열 2021.08.07