목록2024/02/19 (8)
사이먼's 코딩노트
[게시판 제작]앞으로 Java를 통해 게시판을 만들어 볼 예정이고 해당 소스는 Github로 관리해 볼 예정입니다.작성된 모든 코드는 저의 깃허브 리포지터리에서 확인하실 수 있습니다.리포지터리 주소 URL : https://github.com/psm817/full_stack_proj_2024_03 GitHub - psm817/full_stack_proj_2024_03Contribute to psm817/full_stack_proj_2024_03 development by creating an account on GitHub.github.com [게시판 작성]오늘은 게시판 제작 1차 작업으로 사용자 지정의 명령어를 생성하여 게시판의 제목과 내용을 작성하고 해당 게시글의 고유번호를 매기는 작업까지 해 볼 예..
[git 세팅 및 명령어]앞으로 프로젝트를 생성하기 전이나 생성된 프로젝트를 관리하기 위해 필수로 알아야 할 Git 설치 및 세팅과 명령어에 대해서 알아봅시다. 구글에 git을 검색하고 다운로드 받는다.github 홈페이지에 들어가서 계정을 생성하고 Repository를 새로 생성한다. (Repository는 프로젝트 별로 생성하여 관리하는 것이 좋음)생성할 때 주소는 프로젝트와 git 연결할 때 필요하다. 1. git 프로그램 자체를 최신버전으로 업데이트git update-git-for-windows 2. git 로그인 정보 없애기git config --global credential.helper managergit credential-manager delete https://github.com 3. ..
[ArrayList] 배열 객체를 생성할 때 예를 들어 사람 a사람 = new 사람[3]; 과 같이 생성한다면, 3개의 배열 공간을 가진다는 것을 코드를 통해 알 수 있다. 이는 특정 개수를 알고 있을 때 배열 공간의 크기를 정해주지만, 상황에 따라서 배열 공간을 정하지 않고 원하는 대로 넣고 싶을 때가 있다. 아래는 배열 공간을 최대한 유연하고 융통성있게 지정하는 코드로 총 4단계로 나눠서 작성해보았다. 1 ~ 4단계 코드는 모두 배열 타입의 객체가 생성될 때 마다 고유 번호를 1씩 증가시켜 출력하는 코드이다. [1단계] public class Main { public static void main(String[] args) { exam01(); } static void exam01() { Articl..
이번에는 여지껏 배운 Java 문법을 이용하여 인력관리소를 운영하는 문제를 풀어봅시다. [문제] 다음 Main 메서드를 보고 주석에 작성된 대로 출력되게 클래스와 메서드를 추가해보세요. public class Main { public static void main(String[] args) { 사람인력관리소 a사람인력관리소 = new 사람인력관리소(); a사람인력관리소.add사람("홍길순", 33); // 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다. a사람인력관리소.add사람("홍길동", 20); // 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다. a사람인력관리소.add사람("임꺽정", 30); // 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다. 사람 a사람1 = a사람인력관..
이번에는 포인터, 배열과 문자열의 심화된 문제를 풀어봅시다. [문제 1] 다음은 문자열이 특정 문자열로 시작하는 지 검사하는 함수를 구현해보세요. #include typedef int bool; #define true 1 #define false 0 int get_str_len(char* str) { for ( int i = 0; true; i++ ) { if ( str[i] == '\0' ) { return i; } } } bool starts_with(char* str, char* start) { int str_len = get_str_len(str); int start_len = get_str_len(start); if(start_len > str_len) { return false; } for(i..
이번에는 여지껏 배운 포인터, 배열과 문자열, 공공재 지역에 관한 문제들을 풀어봅시다. [문제 1] 변수 str1, str2, str4의 값이 같은 이유를 설명하세요. #include int main(void) { char* str1 = "abc"; printf("str1 : %ld\n", (long)str1); char* str2 = "abc"; printf("str2 : %ld\n", (long)str2); char* str3 = "abcd"; printf("str3 : %ld\n", (long)str3); char* str4 = "abc"; printf("str4 : %ld\n", (long)str4); char str5[10] = "abc"; printf("str5 : %ld\n", (long)s..
[공공재 지역] [case #1] #include int main() { char* str1 = "abc"; char* str2 = "abcd"; char* str3 = "abc"; printf("str1 : %ld\n", (long)str1); printf("str2 : %ld\n", (long)str2); printf("str3 : %ld\n", (long)str3); return 0; } 위 코드에서 str1은 4바이트 짜리 '문자열(문자배열)' 상수를 생성한다. 단, 해당 문자열 abc는 '공공재'만 저장되는 메모리의 특수한 구역에 저장된다. '공공재' 라고 표현한 이유는 "abc"는 2번 이상 쓸 때부터는 문자열이 새로 생성되지 않고 기존에 생성된 배열의 시작 주소를 리턴하기 때문이다. 실제로 ..
[define과 typedef] C언어에는 헤더파일을 포함하는 #include 외에 사용자가 임의로 프로그램 내에서 정의할 수 있는 #define이 있다. 또한 C언어에는 각 자료형 타입을 사용자가 임의로 정의할 수 있는 typedef가 있다. 아래는 #define과 typedef를 이용해 boolean이라는 타입이 없는 C언어에서 true, false를 사용할 수 있는 코드이다. #include #define false 0 #define true 1 typedef int bool; int main(void) { bool is_even = false; while ( is_even ) { } while ( false ) { } while ( true ) { printf("true는 1 이다.\n"); br..