공부 STUDY
CS50 | 배열 Array (2) - 배열, 문자열과 배열, 문자열의 활용, 명령행 인자
메모리 C에는 아래와 같은 여러 자료형이 있고, 각각의 자료형은 서로 다른 크기의 메모리를 차지한다. bool: 불리언, 1바이트 char: 문자, 1바이트 int: 정수, 4바이트 float: 실수, 4바이트 long: (더 큰) 정수, 8바이트 double: (더 큰) 실수, 8바이트 string: 문자열, ?바이트 컴퓨터 안에는 아래 사진과 같은 RAM 이라고 하는 물리적 칩이 메모리 역할을 한다. 쉽게 생각하면 아래 사진에서 여러 개의 노란색 사각형이 메모리를 의미하고, 작은 사각형 하나가 1바이트를 의미한다고 볼 수 있다. 예를 들어 char 타입의 변수를 하나 생성하고, 그 값을 입력한다고 하면 위 사진에서 한 사각형 안에 그 변수의 값이 저장되는 것이다. 배열 아래와 같이 세 개의 점수를 저..
CS50 | 배열 Array (1) - 컴파일링, 디버깅, 코드의 디자인
main 이라는 함수는 프로그램의 시작점으로써 실행 버튼을 클릭하는 것과 같다. printf는 출력을 담당하는 함수이다. printf 함수를 사용하기 위해서는 stdio.h 라이브러리가 필요하다. 정확히 말하면 stdio.h는 헤더 파일로 C언어로 작성되어 있으며 파일명이 .h로 끝나는 파일이다. 이 파일에는 printf 함수의 프로토타입이 있어서 Clang 컴파일러가 프로그램을 컴파일할때 printf가 무엇인지 알려주는 역할을 한다. 코드를 clang hello.c로 컴파일하고 ./a.out 명령으로 프로그램을 실행할 때 이 과정은 컴퓨터가 이해하는 0과 1로 가득찬 파일 a.out을 생성하여 실행 가능하게 한다. 만약 a.out과 다른 이름(hello)으로 컴파일을 하고 싶다면 아래와 같이 명령행 인..
JAVA | Java 프로그래밍 구성 - 데이터와 문자열
오늘은 자바 프로그래밍 구성에 대해 공부했고 그 과정을 기록으로 남기려 한다. 기록하면서 또 복습하고 그런거지 뭐... public class Datatype{ public static void main(String[] args) { System.out.println(6); // Number System.out.println("six"); // String System.out.println("6"); // String 6 System.out.println(6+6); // 12 System.out.println("6"+"6"); // 66 System.out.println(6*6); // 36 // System.out.println("6"*"6"); System.out.println("1111".lengt..
이클립스 Eclipse 에러 해결 방법: "The compiler compliance specified is 17 but a JRE 1.8 is used"
이클립스에서 파일을 실행하는데 다음과 같은 오류가 발생했다. 두 번째 오류인 "The compiler compliance specified is 17 but a JRE 1.8 is used"를 해석해보니 컴파일러 버전을 바꿔주어야한다는 생각이 들었다. 그래서 이것을 바꿔주어 문제를 해결하고자 했다. 프로젝트 파일 위에서 마우스 오른쪽을 클릭하면 위와 같은 팝업창이 뜬다. 맨 아래 보이는 Properties를 클릭하면, 이렇게 화면이 뜬다. 버전을 바꿔주어야 하니까 'Java Compiler' 탭을 누르자. 위에 세팅을 변경할 수 있도록 한다는 체크박스를 누르면 컴파일러 레벨 변경이 가능해진다. 이렇게 말이다. 각자에게 맞는 버전을 택한 뒤 Apply and Close 버튼을 누르면 오류가 해결되어 정상 ..
CS50 | C 언어 - (2)
사용자 정의 함수 “cough”라고 세 번 말하는 C 프로그램을 작성하고 싶다면 아래처럼 작성하면 된다. #include int main(void) { printf("cough\n"); printf("cough\n"); printf("cough\n"); } printf 를 세 번 반복하면 되지만, 동일한 작업을 반복하는 것이기 때문에 사용자 정의 함수를 이용하면 아래 코드와 같이 더 단순화 할 수 있다. 루프 중에서 For을 사용하여 코드를 다시 짜보면, #include int main(void) { for (int i = 0; i < 3; i++) { printf("cough\n") } } 어렵지 않게 cough을 3번 출력해보았다. #include void cough(void) { printf("co..